- 37
- 0
- 约2.59千字
- 约 6页
- 2016-05-24 发布于重庆
- 举报
实验三使用文档视图模式进行程序设计
实验三 使用文档视图模式进行程序设计
实验目的
熟悉使用Windows控件,使用MFC进行基于文档视图模式可视化程序设计。
实验环境
硬件环境:奔3以上处理器,512MB以上内存空间
软件环境:windows2000以上操作系统,VC6.0编译环境。
实验内容与完成情况
建立一个基于单文档的应用程序,最后一步为view视图类选择基类为CFormView。
添加一个空间listctrl,其属性要设置为view :report。勾选single selection。
引入ADO组件。
在StdAfx.h文件中加上以下代码:
#import C:\Program Files\Common Files\System\ado\msado15.dll named_guids rename(EOF,adoEOF),rename(BOF,adoBOF)
using namespace ADODB;
msado15.dll是ADO的组件对象
3. 为视图类添加两个变量
_RecordsetPtr m_pRecordset;
_ConnectionPtr m_pConnection;
为智能指针,对数据库的连接操作都要通过这个两个指针
为视图类添加一个函数void OnInitADOCon();进行数据库连接
初始化智能指针m_pConnection;
m_pConnection.CreateInstance(ADODB.Connection);
建立连接
CString strConnect = Provider = Microsoft.Jet.OLEDB.4.0;Data Source = 学生.mdb; Persist Security Info = False;
m_pConnection-Open((_bstr_t)strConnect, , , adModeUnknown);
定义一个学生类,作为数据库中学生表的一个映射类。
在函数void CTSETView::OnInitialUpdate()中初始化控件。
插入表头:
各个参数的含义//参数1.新列,2.表头,3.对齐方式,4.列宽,5.子项索引
m_cList.InsertColumn(0,学号,LVCFMT_LEFT,50, 0);
连接数据库:
调用函数 OnInitADOCon();
将数据库信息显示到控件上:
在此要用到智能指针m_pRecordset;
一下两句进行循环
while(!m_pRecordset-adoEOF) m_pRecordset-MoveNext();
显示数据 :m_cList.InsertItem(0, ); //无此句,无任何内容
m_cList.SetItemText(0, 0, (char*)(_bstr_t)m_pRecordset-GetCollect(学号));
至此数据库连接成功,运行显示:
6. 添加添加和删除快捷菜单:
插入一个菜单
为视图类添加WM_CONTEXTMENU消息处理函数:OnContextMenu
CMenu popMenu;//声明菜单对象
popMenu.LoadMenu(IDR_MENU_POP);//加载菜单资源
popMenu.GetSubMenu(0)-TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this);//得到子菜单指针。显示弹出菜单,并跟踪所选项
再插入一个对话框实现对数据表的增删修改:
为对话框声明一个类,并为各个控件声明合适的变量
为菜单项编写函数实现菜单功能:
添加学生信息:
右击显示快捷菜单,单击添加弹出对话框:填入信息,
点击确定实现学生信息的添加
右击显示快捷菜单,单击删除
如果之前没选中删除项择提示:
否则删除成功:
出现的问题与对问题的解决方法
1. AfxMessageBox(数据库连接失败!);
用第二句替换原先的CString strConnect
// CString strConnect = DRIVER = {Microsoft Access Driver (*.mdb)};\
// uid=;pwd=;DBQ=学生.mdb;;
CString strConnect = Provider = Microsoft.Jet.OLEDB.4.0;Data Source = 学生.mdb; Persist Security Info = False;
m_pConnection-Open((_bstr_t)strConnect, , , adModeUnknown);
OnInitADOCon(); /
您可能关注的文档
最近下载
- 传统基材润湿流平(氟碳硅烷嵌段).pdf VIP
- 南京财经大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- C4D课程考试试题及参考答案.doc VIP
- 2025年陕西公务员申论考试真题及答案B卷.docx VIP
- [渝粤教育] 西北工业大学 航天器控制原理 mooc 资料.docx VIP
- 航天器控制原理(西北工业大学)中国大学MOOC 慕课 章节测验 期末考试答案.pdf VIP
- 精品解析:2025年陕西省中考数学试题(原卷版).docx VIP
- 四维度主力跟踪.pdf
- 2022年陕西省中考数学真题(原卷版).docx VIP
- 大众网关控制器和bcm车身控制模块针脚定义非常有用.pdf VIP
原创力文档

文档评论(0)