《Visual C++ 6.0实例教程(第二版)》-杨国兴-电子教案 第10章 数据库编程

上传人:E**** 文档编号:89402557 上传时间:2019-05-24 格式:PPT 页数:29 大小:397.50KB
返回 下载 相关 举报
《Visual C++ 6.0实例教程(第二版)》-杨国兴-电子教案 第10章  数据库编程_第1页
第1页 / 共29页
《Visual C++ 6.0实例教程(第二版)》-杨国兴-电子教案 第10章  数据库编程_第2页
第2页 / 共29页
《Visual C++ 6.0实例教程(第二版)》-杨国兴-电子教案 第10章  数据库编程_第3页
第3页 / 共29页
《Visual C++ 6.0实例教程(第二版)》-杨国兴-电子教案 第10章  数据库编程_第4页
第4页 / 共29页
《Visual C++ 6.0实例教程(第二版)》-杨国兴-电子教案 第10章  数据库编程_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《《Visual C++ 6.0实例教程(第二版)》-杨国兴-电子教案 第10章 数据库编程》由会员分享,可在线阅读,更多相关《《Visual C++ 6.0实例教程(第二版)》-杨国兴-电子教案 第10章 数据库编程(29页珍藏版)》请在金锄头文库上搜索。

1、第10章 数据库编程,学习目标,建立ODBC数据源 了解类CDatabase、CRecordSet的使用方法 创建Windows Explore风格的程序 进一步熟练树控件和列表控件的使用,10.1 MFC提供的ODBC数据库类,1. Visual C+数据库编程概述 ODBC API MFC ODBC DAO OLE DB ADO,第10章 多线程,2. CDatabase类,Open() IsOpen() Close(),第10章 多线程,10.1 MFC提供的ODBC数据库类,例: CDatabase db; if(!db.IsOpen() /判断db是否处于打开状态 if(!db.Op

2、en(“Caie”) AfxMessageBox (“建立数据库连接失败!”) db.Close();,3. CRecordSet类,第10章 多线程,10.1 MFC提供的ODBC数据库类,CRecordSet类对象提供了从数据源中提取出的记录集。 在实际应用程序中,一般不直接使用CRecordSet类,而是从CRecordSet类产生一个派生类,并添加相应于数据库表中字段的成员变量。,10.2 本章实例,第10章 多线程,1.实例介绍 实例程序是“汽车及汽车零部件企业查询系统”,主要功能就是查询某个地区生产某产品的企业。单击工具栏的“打印”按钮,打印所查询出来的公司清单。,第10章 多线程

3、,10.2 本章实例,双击右侧窗口列表中的某个公司编码,弹出对话框来显示该公司的详细信息。,单击“打印”或“打印信封标签”按钮打印公司的详细信息或信封标签。,第10章 多线程,10.2 本章实例,(1)代码设计 产品编码 :* * * * 如2 1 0 2 地区编码 : * * * * 如0 1 0 0 企业编码 :* * * * * * * 如0 1 0 0 0 0 1,2 系统设计,汽车零部件,汽车发动机系统,泵类零部件,北京,未用,序号,(2)数据库设计 地区编码表(Dqbm) 产品编码表(Cpbm) 公司情况表(Gsqk) 产品情况表(Cpqk),本系统使用Access数据库,数据库名

4、Caie.mdb,第10章 多线程,10.2 本章实例,(1)用户DSN (2)Driver do Microsoft Access(*.mdb) (3)数据源名:Caie”,3 创建ODBC数据源,10.3 程序实现,第10章 多线程,创建工程Odbc 创建与数据库表相关联的类 处理工具栏 处理左边窗口 处理右边窗口 初始封面 公司详细情况对话框 处理状态栏,步骤1 创建工程Odbc,第10章 多线程,(1)单文档 (2)数据库:Header files only 可以在工程的在stdAfx.h文件中找到相应的代码如下: #include / MFC ODBC database classe

5、s (3)界面风格:Windows explore,10.3 程序实现,步骤2 创建与数据库表相关联的类,第10章 多线程,添加以下4个与数据库表相关联的类:CRecordSet,CCpbmSet,CGsqkSet,CCpqkSet 方法: 插入新类 选择基类CRecordSet 选择ODBC数据源,并选择Caie 选择4个相应的表,10.3 程序实现,步骤3 处理工具栏1,第10章 多线程,(1)除“打印”按钮外,将工具栏上的所有按钮删除,载添加一个按钮,ID为ID_COMBOBOX。 (2)载主框架类中定义组合框成员变量 CComboBox m_ComboBox; (3)在主框架类的OnC

6、reat()函数中创建工具栏代码的下面添加创建组合框的代码。,10.3 程序实现,AddItemFromDqbm(),调用,步骤3 处理工具栏2,第10章 多线程,(4)添加AddItemFromDqbm()函数 。 在主框架类中添加成员函数AddItemFromDqbm() 在主框架类中添加一个公有数据成员m_strDqbm,用来保存所选择地区的编码。 CString m_strDqbm; 在主框架类的实现文件的开始位置加入文件包含。 #include “DqbmSet.h“ #include “Cpqkset.h“,10.3 程序实现,步骤3 处理工具栏3,第10章 多线程,(5)添加组合

7、框的消息响应函数OnSelChangeCombo() 原型: afx_msg void OnSelChangeCombo(); 消息映射: ON_CBN_SELCHANGE(ID_COMBOBOX,OnSelChangeCombo) 函数定义: void CMainFrame:OnSelChangeCombo() CString strComboItem; m_ComboBox.GetWindowText(strComboItem); m_strDqbm = strComboItem.Left(4); COdbcView *pView = GetRightPane(); pView-ListB

8、uild(); ,10.3 程序实现,本函数在后面介绍,步骤3 处理工具栏4,第10章 多线程,(6)在主框架类中添加成员函数GetLeftPane () CLeftView* CMainFrame:GetLeftPane() CWnd* pWnd = m_wndSplitter.GetPane(0, 0); CLeftView* pView = DYNAMIC_DOWNCAST(CLeftView, pWnd); return pView; 在主框架类头文件中,添加CLeftView类的声明 class CLeftView;,10.3 程序实现,步骤4 处理左边窗口1,第10章 多线程,(1

9、)添加资源和成员变量 IDI_CAR1,IDI_CAR2,IDI_CAR3,IDI_CAR4,10.3 程序实现,在视类中添加CImageList成员变量 class CLeftView : public CTreeView protected: CImageList m_ImageList; ,在LeftView.cpp中添加: #include “CpbmSet.h“,步骤4 处理左边窗口2,第10章 多线程,(2)设置视中树控件的风格,10.3 程序实现,在CLeftView类的PreCreateWindow()函数中添加代码 BOOL CLeftView:PreCreateWindow

10、(CREATESTRUCT ,步骤4 处理左边窗口3,第10章 多线程,10.3 程序实现,(3)在CLeftView:OnInitialUpdate()中建立树控件节点,(4)添加消息响应函数函数CLeftView:OnSelchanged(),在CLeftView 类中添加两个成员变量 class CLeftView : public CTreeView public: CString m_strCpbm; long m_nCurlParam; ,在LeftView.cpp类中添加文件包含: #include “MainFrm.h“ #include “OdbcView.h“,步骤5 处理

11、右边窗口1,第10章 多线程,10.3 程序实现,(1)设置列表视的风格为report,BOOL COdbcView:PreCreateWindow(CREATESTRUCT ,步骤5 处理右边窗口2,第10章 多线程,10.3 程序实现,(2)在OnInitialUpdate()函数创建列表控件的列,void COdbcView:OnInitialUpdate() CListView:OnInitialUpdate(); CListCtrl ,步骤5 处理右边窗口3,第10章 多线程,10.3 程序实现,(3)添加COdbcView:ListBuild()函数,在OdbcView.cpp文件

12、中添加以下文件包: #include “MainFrm.h“ #include “LeftView.h“ #include “DqbmSet.h“ #include “Cpqkset.h“ #include “Gsqkset.h“,步骤6 初始封面,第10章 多线程,10.3 程序实现,(1)选择菜单ProjectAdd To ProjectComponents And Controls,弹出Components And Controls Gallery对话框。 (2)双击Visual C+Components,选择Splash screen,单击“Insert”按钮,再单击“确定”按钮。然后

13、关闭Components And Controls Gallery对话框。 (3)可以在工程文件夹中找到位图“Splsh16.bmp”,如果要使用自己制作的封面,只要替换这个位图即可。,步骤7 公司详细情况对话框1,第10章 多线程,10.3 程序实现,(1)编辑对话框资源。ID:IDD_DLG_COMPINFO,编辑框的ID IDC_EDIT_NAME IDC_EDIT_POST IDC_EDIT_ADRRESS IDC_EDIT_TELEPHONE IDC_EDIT_CZH IDC_EDIT_FRDB IDC_EDIT_EMAIL IDC_EDIT_PP IDC_EDIT_QYGM IDC

14、_EDIT_CPQK,步骤7 公司详细情况对话框2,第10章 多线程,10.3 程序实现,(2)为文本框控件添加关联变量,IDC_EDIT_ADRRESS CString m_strAddress; IDC_EDIT_CPQK CString m_strCpqk; IDC_EDIT_CZH CString m_strFax; IDC_EDIT_EMAIL CString m_strEmail; IDC_EDIT_FRDB CString m_strFrdb; IDC_EDIT_NAME CString m_strName; IDC_EDIT_POST CString m_strPostNumb

15、er; IDC_EDIT_PP CString m_strPp; IDC_EDIT_QYGM CString m_strQygm; IDC_EDIT_TELEPHONE CString m_strTelephone;,步骤7 公司详细情况对话框3,第10章 多线程,10.3 程序实现,(3) 在对话框中添加私有成员变量m_strGsbm,并初始化,CDlgCompinfo:CDlgCompinfo(CString gsbm, CWnd* pParent /*=NULL*/) : CDialog(CDlgCompinfo:IDD, pParent) m_strGsbm = gsbm; ,步骤7 公司详细情况对话框4,第10章 多线程,10.3 程序实现,(4)显示对话框 函数COdbcView:OnLButtonDblClk(),(5)将公司的详细信息显示在对话框中 函数CDlgCompinfo:OnInitDialog(),在OdbcView.cpp中添加文件包含: #include “DlgCompinfo.h“ 在对话框类的实现文件中添加文件包含: #include “GsqkSet.h“,步骤8 处理状态栏1,第10章 多线程,10.3 程序实现,(1)将主框架类中的保护成员变量m_wndStatusBar改为公有成员。 (2)在主框架类的实现文件中找到

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号