【VC开源代码栏目提醒】:网学会员--在 VC开源代码编辑为广大网友搜集整理了:CollegeDlg.cpp绩等信息,祝愿广大网友取得需要的信息,参考学习。
// CollegeDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ExMIS.h"
#include "CollegeDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCollegeDlg dialog
CCollegeDlg::CCollegeDlg(CWnd* pParent /*=NULL*/)
: CDialog(CCollegeDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCollegeDlg)
m_strMemo = _T("");
m_strID = _T("");
//}}AFX_DATA_INIT
}
void CCollegeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCollegeDlg)
DDX_Control(pDX, IDC_LIST, m_ctrlList);
DDX_Text(pDX, IDC_EDIT_MEMO, m_strMemo);
DDX_Text(pDX, IDC_EDIT_ID, m_strID);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCollegeDlg, CDialog)
//{{AFX_MSG_MAP(CCollegeDlg)
ON_NOTIFY(NM_CLICK, IDC_LIST, OnClickList)
ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
ON_BN_CLICKED(IDC_BUTTON_DEL, OnButtonDel)
ON_BN_CLICKED(IDC_BUTTON_EDIT, OnButtonEdit)
ON_BN_CLICKED(IDC_BUTTON_CLEAR, OnButtonClear)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCollegeDlg message handlers
BOOL CCollegeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//添加的代码
m_ctrlList.InsertColumn(0,"院系名");
m_ctrlList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_ctrlList.SetColumnWidth(0,160);
//打开ADO的连接
m_pRS.ADOOpen();
//在列表中显示院系;
ShowListItems();
return TRUE;
}
void CCollegeDlg::ShowListItems()
{
m_ctrlList.DeleteAllItems();
m_pRS.ADOExcute("SELECT CollegeID FROM CollegeTab");
int i=0;
while(!m_pRS.ADOEOF()){
m_ctrlList.InsertItem(i++,m_pRS.GetFieldString(0));
m_pRS.MoveNext();
}
m_ctrlList.SetRedraw(TRUE);
}
void CCollegeDlg::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
//添加的代码:从数据库中获取选择用户名的资料
CString strSQL;
int i = m_ctrlList.GetSelectionMark(); //取得单击的行
CString str=m_ctrlList.GetItemText(i,0); //取得该行的院系编号
strSQL.Format("SELECT * FROM CollegeTab WHERE CollegeID='%s'",str); //用院系编号进行SQL查询
m_pRS.ADOExcute(strSQL); //执行SQL语句
if(m_pRS.nFieldRows!=1)
{
AfxMessageBox("数据库查找错误!");
return ;
}
m_strID=m_pRS.GetFieldString("CollegeID");
m_strMemo=m_pRS.GetFieldString("CollegeMemo");
UpdateData(false);
}
void CCollegeDlg::OnButtonClear()
{
// 清空
m_strID="";
m_strMemo="";
UpdateData(false);
}
void CCollegeDlg::OnButtonAdd()
{
// 添加
UpdateData(true);
CString sql;
sql.Format("INSERT INTO CollegeTab(CollegeID,CollegeMemo) Values('%s','%s')",m_strID,m_strMemo);
if(m_pRS.ADOExcuteNoQuery(sql)==1){
AfxMessageBox("增加记录成功!");
//增加完记录后,马上刷新显示;
ShowListItems();
}
else
{
AfxMessageBox("增加记录失败,可能是重复的院系名,可选择保存修改!");
}
}
void CCollegeDlg::OnButtonEdit()
{
// 编辑
UpdateData(true);
CString sql;
sql.Format("UPDATE CollegeTab SET CollegeID='%s',CollegeMemo='%s' WHERE CollegeID='%s'",m_strID,m_strMemo,m_strID);
if(m_pRS.ADOExcuteNoQuery(sql)==1){
AfxMessageBox("编辑记录成功!");
//编辑完记录后,马上刷新显示;
ShowListItems();
}
else
{
AfxMessageBox("编辑记录失败!");
}
}
void CCollegeDlg::OnButtonDel()
{
if(m_ctrlList.GetSelectionMark()<0){
AfxMessageBox("请先选中要删除的项!");
return;
}
// 删除,此操作不能恢复,一般都需要确认一下
if(AfxMessageBox("您确认要删除吗?",MB_OKCANCEL)==IDOK)
{
UpdateData(true);
CString sql;
sql.Format("DELETE * FROM CollegeTab WHERE CollegeID='%s'",m_strID);
if(m_pRS.ADOExcuteNoQuery(sql)==1){
AfxMessageBox("删除记录成功!");
ShowListItems();//刷新显示;
}
else
{
AfxMessageBox("删除记录失败,当其它表存在有依赖他的项时则不能删除!");
}
}
}
上一篇:
Coding.cpp
下一篇:
法律专业开题报告范文