VC++实验报告(3)

2019-02-15 11:50

{ }

, m_mail(_T(\)) , m_address(_T(\)) m_pSet = NULL;

// TODO: 在此处添加构造代码

实现控件和成员变量的数据交换

void CtsuView::DoDataExchange(CDataExchange* pDX) { }

设定显示风格:

BOOL CtsuView::PreCreateWindow(CREATESTRUCT& cs) { }

初始化视图的显示

vvoid CtsuView::OnInitialUpdate() {

}

catch(CDBException *pe)

RefreshData(); try {

m_pSet=new CtsuSet(); m_pSet->Open();

m_pSet = &GetDocument()->m_tsuSet; CRecordView::OnInitialUpdate(); GetParentFrame()->RecalcLayout(); ResizeParentToFit();

return CRecordView::PreCreateWindow(cs); // TODO: 在此处通过修改

// CREATESTRUCT cs 来修改窗口类或样式 CRecordView::DoDataExchange(pDX);

DDX_Text(pDX, IDC_EDIT_NAME, m_name); DDX_Text(pDX, IDC_EDIT_TYPE, m_type); DDX_Text(pDX, IDC_EDIT_MAIL, m_mail); DDX_Text(pDX, IDC_EDIT_ADDRESS, m_address);

11 / 16

}

{ }

AfxMessageBox(pe->m_strError); pe->Delete();

CtsuView的数据库支持和消息处理: 1) 获得数据

CRecordset* CtsuView::OnGetRecordset() { }

2) 显示第一条记录

void CtsuView::OnRecordFirst() { }

3) 显示最后一条记录

void CtsuView::OnRecordLast() { }

4) 显示下一条记录

void CtsuView::OnRecordNext() { }

5) 显示上一条记录

void CtsuView::OnRecordPrev() {

// TODO: 在此添加命令处理程序代码 m_pSet->MovePrev();

// TODO: 在此添加命令处理程序代码 m_pSet->MoveNext(); RefreshData();

// TODO: 在此添加命令处理程序代码 m_pSet->MoveLast(); RefreshData();

// TODO: 在此添加命令处理程序代码 m_pSet->MoveFirst(); RefreshData(); return m_pSet;

12 / 16

}

RefreshData();

6) 单击“修改记录”按钮的响应函数 void CtsuView::OnButtonModify() { }

void CtsuView::OnButtonDelete() {

13 / 16

// TODO: 在此添加控件通知处理程序代码 try {

m_pSet->Edit();; UpdateData(TRUE); m_pSet->column1=m_name;

m_pSet->column2=m_type; m_pSet->column3=m_address; m_pSet->column4=m_mail; }

catch(CDBException* pe) { }

AfxMessageBox(pe->m_strError); pe->Delete(); m_pSet->Update();

// TODO: 在此添加控件通知处理程序代码 try { }

catch(CDBException* pe) { }

AfxMessageBox(pe->m_strError); pe->Delete(); m_pSet->Delete(); m_pSet->Requery(); RefreshData();

}

7) 单击“删除记录”按钮的响应函数 void CtsuView::OnButtonDelete() { }

8) 单击“添加记录”按钮的响应函数 void CtsuView::OnButtonAdd() { }

14 / 16

// TODO: 在此添加控件通知处理程序代码 try { }

catch(CDBException* pe) { }

AfxMessageBox(pe->m_strError); pe->Delete(); m_pSet->Delete(); m_pSet->Requery(); RefreshData();

// TODO: 在此添加控件通知处理程序代码 try {

m_pSet->AddNew(); UpdateData(TRUE); m_pSet->column1=m_name;

m_pSet->column2=m_type; m_pSet->column3=m_address; m_pSet->column4=m_mail; }

catch(CDBException* pe) { }

AfxMessageBox(pe->m_strError); pe->Delete(); m_pSet->Update(); m_pSet->Requery();

9) 用数据集的当前内应更新视图 void CtsuView::RefreshData(void) { }

m_name=m_pSet->column1; m_type=m_pSet->column2; m_address=m_pSet->column3; m_mail=m_pSet->column4; UpdateData(false);

四 程序的调试与运行结果说明

运行结果如下图:

而用Visual C++6.0编译的结果如下图

15 / 16

由图可以清楚知道,两者界面存在很大差别。

五 课程设计总结

本程序基本完成了报告上要求的浏览、添加、修改、删除这些要求。通过自己的不断练习,自己逐渐学会一些基本控件的使用,掌握了ODBC连接数据库的方法。由于教程上所用的开发工具是vc6.0,而自己用的是vs2010,有一些函数在vs2010不能使用,通过自己网上搜索和请教同学,找到了相应的函数,并实现了所需的功能。

六 实验过程中遇到的问题

1、按照教程上的方法在运行时出现数据库连接失败,经过自己的调试和修改,发现是连接代码出现错误,针对不同的access版本,连接代码不同。得到了自己想要的结果。、 2、在编辑对话框时由于一些函数不会添加,我请教了和我做同一个设计的同学,最终完成

16 / 16


VC++实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中语文人教版必修1教案: 第四单元第10课短新闻两篇-别了“不

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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