资源预览内容
第1页 / 共96页
第2页 / 共96页
第3页 / 共96页
第4页 / 共96页
第5页 / 共96页
第6页 / 共96页
第7页 / 共96页
第8页 / 共96页
第9页 / 共96页
第10页 / 共96页
亲,该文档总共96页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
学习情境七 数据库编程,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查) 任务二 使用 类编写对数据库的操作 (增、 删、 改、 查),返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),知识导读 开放数据库互连( , ) 是微软公司开放服务结构中有关数据库的一个组成部分。它建立了一组规范, 并提供了一组对数据库访问的标准。这些 函数利用 来完成其大部分任务。目前很多数据库应用程序都使用 来访问数据库。,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查), 类封装了 使得利用 来创建 数据库应用程序变得非常简便。 常用的类有三个: 、。 类的对象用于建立和连接数据源。 类的对象代表从数据源获取的记录集, 该类主要用于对数据库的操作。 类的对象提供一个表单视图来显示和操作记录集。 类派生于 类, 同时又绑定了一个记录集, 所以该类的对象可以利用单视图方便地显示、修改、添加、删除记录。,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),知识点详解 .创建数据库 为了讲解数据库编程技术, 需要创建一个数据库用于示范 中的数据库操作方法。为了让读者尽快掌握数据库编程的方法, 本情境采用数据库中最易于理解的 数据库配合 数据库开发技术的讲解。 .创建 数据源 应用程序想要通过 方式访问一个数据库, 首先需要用 管理器注册一个数据源, 管理器根据数据源提供的数据库位置、数据库类型及 驱动程序等信息, 建立起 与具体数据库的联系。这样, 只要应用程序将数据源名提供给, 就能建立起与相应数据库的连接。,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),示例: 使用 类编写一个管理学生信息数据库的程序。 【完成步骤】 步骤 创建 数据库。 () 打开 , 单击“空白数据库” 选项, 修改文件名为“学生信息数据库.”, 保存到示例, 出现图 所示的界面。 () 单击“创建” 按钮, 进入图 所示的学生信息数据库文件界面。,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),() 进入学生信息数据库文件编辑界面。按下“” 组合键, 修改表名称为: 学生信息表。用鼠标右键单击“学生信息表”, 选择“设计视图” 模式, 弹出如图 所示的表设计器。为“学生信息表” 添加相应的字段, 并选择合适的数据类型和字段大小。 () 打开“学生信息表”, 在表中添加 条记录, 如图 所示。 步骤 创建 数据源。 () 在 开始菜单中, 选择“管理工具” 中的“数据源() ” 菜单项,弹出如图 所示的“ 数据源管理器” 对话框。,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),() 在“” 数据源管理器对话框中单击“添加” 按钮, 弹出如图 所示的“创建新数据源” 对话框。在 的 位系统中, 在: 目录下找到., 然后双击打开即可。 () 用鼠标双击“创建新数据源” 对话框的“ (., ) ” 选项, 弹出如图 所示的“ 安装” 对话框。 () 在“ 安装” 对话框中打开“学生信息数据库.” 数据库文件, 然后单击“确定” 按钮, 这样注册数据源就完成了, 如图 所示。,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),() 回到“ 数据源管理器” 对话框之后就可以看到, “用户” 选项卡中就会多出一个名为“学生信息数据源” 用户数据, 如图 所示。 步骤 创建项目并设计界面。 () 创建一个项目名为“” 的对话框应用程序, 并为其添加相应的控件。设置列表视图属性 为 类型, 如图 所示。 () 控件 和 的设置情况见表。 () 在资源视图中插入一个新的对话框, 利用这个对话框实现数据的添加和修改操作。首先设置其 为“添加修改学生信息”, 为, 然后为其添加相应的控件, 如图 所示。,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),() 控件 和 的设置情况见表。 () 双击“添加修改学生信息” 对话框界面, 为其关联对话框类, 如图所示。 () 编辑框关联变量见表。 步骤 创建 记录集类。 () 用鼠标右键单击项目名称“”, 在弹出的快捷菜单中选择: 添加类 使用者添加, 如图 所示。 () 单击“数据源” 按钮, 弹出“选择数据源” 对话框。选择“机器数据源” 选项卡, 选中“学生信息数据源”, 单击“确定” 按钮, 如图 所示。,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),() “授权” 区域的登录名称和密码不用设置, 直接单击“确定” 按钮, 回到“选择数据库对象” 对话框, 如图 所示。 () 单击“确定” 按钮, 在弹出的“ 使用者” 对话框中, 将默认的生成类“” 修改为“”, 并取消“绑定所有列”, 如图 所示。 () 重写. 文件中的 () 函数, 代码如下: CString CStuInfoSet:GetDefaultConnect() return_T(“ODBC;DSN=学生信息数据源“); ,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),步骤 布局列表控件。 为列表框关联一个名为 的 变量。在: () 函数中添加对话框初始化代码, 完成视图列表框控件的布局。代码如下: BOOL Cex07_1Dlg:OnInitDialog() /TODO:在此添加额外的初始化代码 m_listStuInfo .SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSE LECT);,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),/设置列表视图为网格类型且全选状态 m_listStuInfo .InsertColumn(0,“学号“,LVCFMT_CENTER,80); m_listStuInfo .InsertColumn(1,“姓名“,LVCFMT_CENTER,80); m_listStuInfo .InsertColumn(2,“性别“,LVCFMT_CENTER,60); m_listStuInfo .InsertColumn(3,“年龄“,LVCFMT_CENTER,60); m_listStuInfo .InsertColumn(4,“系别“,LVCFMT_CENTER,120); return TRUE; /除非将焦点设置到控件,否则返回TRUE ,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),步骤 编写显示学生信息函数。 为了能够便捷地显示数据库数据, 需要为 类编写一个显示学生信息的函数 (), 完成数据的显示任务。 () 在. 中声明函数: public: void ListStuInfo(CString strSQL); () 在. 文件中为 类添加下列属性: CString m_StudentID; /学号 CString m_StuName; /姓名,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),CString m_StuSex; /性别 int m_StuAge; /年龄 CString m_StuDept; /系部 () 利用构造函数 () 初始化属性值: CStuInfoSet:CStuInfoSet(CDatabase*pdb):CRecordset(pdb) m_StudentID=_T(“); m_StuName=_T(“); m_StuSex=_T(“); m_StuAge=0;,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),m_StuDept=_T(“); m_nFields=5; m_nDefaultType=dynaset; () 调用函数 () 实现在记录集的字段数据成员和数据源中的相应的记录之间交换数据: void CStuInfoSet:DoFieldExchange(CFieldExchange*pFX) pFX-SetFieldType(CFieldExchange:outputColumn); /RFX_Text()和RFX_Int()这类宏依赖的是 /成员变量的类型,而不是数据库字段的类型。 /ODBC 尝试自动将列值转换为所请求的类型,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),pFX-SetFieldType(CFieldExchange:outputColumn); RFX_Text(pFX,_T(“StudentID“),m_StudentID); RFX_Text(pFX,_T(“StuName“),m_StuName); RFX_Text(pFX,_T(“StuSex“),m_StuSex); RFX_Int(pFX,_T(“StuAge“),m_StuAge); RFX_Text(pFX,_T(“StuDept“),m_StuDept); ,上一页,下一页,返回,任务一 使用 类编写对数据库的操作 (增、 删、 改、 查),() 在 . 中添加: #include“StuInfoSet.h“ /CStuInfoSet 类的头文件 void Cex07_1Dlg:ListStuInfo(CString strSQL) m_listStuInfo.DeleteAllItems();/首先清空列表视图中的所有数据 CStuInfoSet stuInfoSet; /创建一个
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号