实验MFC+DB 2015

2026/4/23 6:36:53

VisualStudioC++数据库编程实现过程详解~13~王思野编制

}

CRecordView::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDatabaseGUIView)

DDX_Text(pDX, IDC_CHECKNAME, m_checkname);

DDX_FieldText(pDX, IDC_ID_EDIT, m_pSet->m_SNO, m_pSet);

DDX_FieldText(pDX, IDC_NAME_EDIT, m_pSet->m_SNAME, m_pSet); DDX_FieldText(pDX, IDC_DEPT_EDIT, m_pSet->m_SDEPT, m_pSet); DDX_FieldText(pDX, IDC_AGE_EDIT, m_pSet->m_SAGE, m_pSet); // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP

这样就实现了数据的显示问题。

“添加”的实现:为了添加记录,添加一个对话框资源:

在项目工作区窗口中选择ResourceView页面,右键单击Dialog→Insert Dialog,则添加了一个对话框,为其添加四个Edit box,其 ID 分别为 IDC_ID、IDC_NAME、IDC_AGE、IDC_DEPT。

图24子对话框添加控件

同时按照前面所描述的方法为该对话框添加类CAddNew,如下图所示:

图25 添加新类选项

单击 View→MFC ClassWizard,在 Class name 中选择CAddNew,则在下面的界面中显示对话框中的界面,选中IDC_AGE,单击 Add Variable,弹出如图的对话框,添加变量的名称,选择其类型。

VisualStudioC++数据库编程实现过程详解~14~王思野编制

图26 为控件添加成员变量

同样,为其他控件添加变量,最后结果如图所示:

图27 控件与成员变量对应关系图

2.3编写按钮成员函数 2.3.1 数据添加

在ResourceView页面Dialog中,双击IDD_DATABASEGUI_FORM,出现已经设计好的主对话框后,如双击删除按钮,出现对话框如下:

VisualStudioC++数据库编程实现过程详解~15~王思野编制

图28添加成员函数

void CDatabaseGUIView::OnAdd() {

// TODO: Add your control notification handler code here CAddNew dlg; CString str; CString str1; CDatabase db;

if (IDOK==dlg.DoModal()) { try { str1.Format(\values('%s','%s','%s','%s')\ db.Open(\学生信息\ db.ExecuteSQL(str1); } catch(CDBException *e) { AfxMessageBox(e->m_strError); return; } str.Format(\添加[%s]成功!\ MessageBox(str,NULL,MB_OK|MB_ICONINFORMATION); } }

2.3.2 数据删除

void CDatabaseGUIView::OnDel() {

// TODO: Add your control notification handler code here //

CAddNew dlg; CDatabase db; try { CString str1; CString str; if (m_pSet->IsOpen()) { m_pSet->Close(); } str.Format(\删除记录[%s]成功!\ str1.Format(\ db.Open(\学生信息\ db.ExecuteSQL(str1);

VisualStudioC++数据库编程实现过程详解~16~王思野编制

}

MessageBox(str,NULL,MB_OK|MB_ICONINFORMATION); // MessageBox(\}

catch (CDBException* e) { AfxMessageBox(e->m_strError); return; }

2.3.3 数据修改

注:由程序中的sql语句可以看出,使用的时候,修改是不能改学号的

void CDatabaseGUIView::OnMod() {

// TODO: Add your control notification handler code here CAddNew dlg; CString str; CString str1; CDatabase db;

if (IDOK==dlg.DoModal()) { try { if (m_pSet->IsOpen()) { m_pSet->Close(); } str1.Format(\StuInfo SET SNAME='%s',SAGE='%s',SDEPT='%s' WHERE SNO='%s'\ db.Open(\学生信息\ db.ExecuteSQL(str1); }

catch(CDBException *e) { AfxMessageBox(e->m_strError); return; }

str.Format(\修改[%s]成功!\

MessageBox(str,NULL,MB_OK|MB_ICONINFORMATION); } }

2.3.4 数据查询

void CDatabaseGUIView::OnCheck() {

// TODO: Add your control notification handler code here UpdateData(true); CDatabase db;

db.Open(\学生信息\ CString str;

m_checkname.TrimLeft(); if(m_checkname.IsEmpty()) { MessageBox(\要查询的学号不能为空! \


实验MFC+DB 2015.doc 将本文的Word文档下载到电脑
搜索更多关于: 实验MFC+DB 2015 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219