




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章VisualC 编程深入 10 1ODBC数据库应用 数据库应用程序是指能够通过数据库管理系统DBMS访问数据库的程序 VisualC 提供了多种数据库访问技术 其中经常使用的是开放式数据库连接ODBC和数据库存取对象DAO两种关系数据库访问技术 10 1 1ODBC概述 ODBC是一个调用级接口 它使得应用程序得以访问任何具有ODBC驱动程序的数据库中的数据 使用ODBC可以创建具有访问任何数据库 最终用户具有该数据库的ODBC驱动程序 的权限的数据库应用程序 ODBC提供了使数据库应用程序独立于数据库管理系统 DBMS 的API ODBC是MicrosoftWindows开放服务结构 WOSA 中有关数据库的一个组成部分 它建立了一组数据库访问规范 为用户提供了简单 标准 透明和统一的数据库访问的编程接口 即API 使应用程序独立于DBMS ODBCAPI作为数据库的一种底层访问技术 它支持SQL语言 并且用户可以直接将SQL语言提交给ODBCAPI 应用程序 执行处理并调用ODBCAPI函数 以提交SQL语句并获取结果 ODBC驱动程序管理器 根据应用程序的需要加载或卸载驱动程序 代表应用程序加载ODBC数据库驱动程序的动态链接库 Odbc32 dll 包括一组ODBCAPI函数 ODBC的体系结构包括如下4个组件 ODBC数据库驱动程序 处理ODBCAPI函数调用 提交SQL请求到一个指定的数据源 并把结果返回给应用程序 ODBC驱动程序通常是一个DLL 数据源 应用程序要连接一个数据库 首先必须设置一个数据源 数据源是应用程序的操作对象 应用程序通过数据源就能找到对应的数据库物理文件 10 1 2MFCODBC数据库类 CDatabase类 主要功能是负责与数据源的连接 CRecordset类 负责对数据源的数据记录集合的操作 CRecordView类 负责数据记录与视图之间的关联 使用对话框数据交换机制 DDX CFieldExchange类 负责记录字段与成员变量之间的关联 CDBException类 负责ODBC产生的异常 常用操作 1 打开数据库CDatabasedatabase database OpenEx T DSN stu CDatabase noOdbcDialog LPCTSTRlpszConnectString为连接字串 如 DNS memo UID sa PWD 123 DNS为数据源名称 若lpszConnectString为NULL 则将出现数据源对话框 提示用户选择一个数据源 DWORDdwOptions为打开方式 缺省值0表示以共享方式打开数据库 带有写访问 不装入ODBC游标库DLL 并且只有在没有足够信息形成连接时显示ODBC连接对话框 2 关联记录集CRecordsetrecset 3 查询记录CStringsSql SELECT FROMtablename recset Open CRecordset forwardOnly sSql1 CRecordset readOnly 打开类型CRecordset dynaset 动态记录集 支持双向游标 并保持同所连接的数据源同步 对数据的更新操作可以通过一个fetch操作获取 CRecordset snapshot 静态快照 一旦形成记录集 此后数据源的所有改变都不能体现在记录集里 应用程序必须重新进行查询 才能获取对数据的更新 该类型记录集也支持双向游标 CRecordset dynamic 能在fetch操作里同步其它用户对数据的重新排序 CRecordset forwardOnly 不支持逆向游标 sql查询语句 查询结果保存在记录集中 指定创建记录集时的常用选项CRecordset none 与其它所有选项互斥 可以更新 删除 添加记录 CRecordset appendOnly 不允许修改和删除记录 但可以添加记录 CRecordset readOnly 记录集是只读的 CStringvar var可以转换为其他类型的值while recset IsEOF 读取数据库 recset GetFieldValue id var recset MoveNext recset Close 关闭记录集4 执行sql语句CStringsSql sSql delete fromtablename 清空表database ExecuteSQL sSql sSql也可以为Insert Update等语句 记录的查询 使用CRecordSet类的Open 方法和Requery 成员函数 在使用CRecordSet的类对象之前 必须使用Open 函数来获得有效的记录集 再次查询时使用Requery 函数 记录的添加 只用AddNew 函数 不过必须保证在数据库是在允许添加的模式打开的 记录的删除 调用Delete 函数完成 在使用完Delete 函数之后不用调用Update 函数了 记录的修改 调用Edit 函数完成 在使用过Edit 函数之后需要调用Update 函数将修改结果存入数据库 直接执行SQL操作 调用CDatabase类的ExecuteSQL 函数 需要注意的是 由于不同DBMS提供的数据操作语句不尽相同 直接执行SQL语句可能会破坏软件的DBMS无关性 因此在应用中应当慎用此类操作 10 1 3编程实现 例10 1 编写一个基于MFC的数据库应用程序Myodbc 实现简单的记录浏览功能 并支持记录的修改 增加和删除 1 配置数据源APETEST用户DSN 当前用户配置的数据源 只有当前用户可以使用系统DSN 系统配置的数据源 有访问权限的用户都可以使用文件DSN 由一个文本文件定义的数据源 安装了驱动程序的用户可以使用 2 生成Myodbc应用程序框架创建一个单文档应用程序Myodbc选择 Databaseviewwithoutfilesupport 分析CMyodbcSet CMyodbcView 3 增加浏览记录集和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业安全干部培训通知课件
- 2025人力资源经理劳动合同(标准版)
- 出口行销学课件ch7
- 2025烘焙食品批发合同
- 冲压生产安全培训课件
- 2025【合同范本】简约搬运服务合同协议书
- 2025KA卖场管理及合同谈判策略((版,内部教学资料))
- 纯电动公交驾驶操作教材讲课文档
- 2025物业员工合同
- 潍坊电子发票管理办法
- 血液净化中心静脉导管护理指南
- 高压蒸汽灭菌原理
- 小儿过敏性紫癜护理常规
- 手术标识培训课件
- 超声下椎管麻醉技术应用
- 2025-2030年中国消防设备行业市场深度调研及发展前景与投资研究报告
- 2025至2030年中国硫酸钙晶须行业市场竞争现状及投资前景研判报告
- 电厂网格化管理制度
- 电梯安全总监职责、安全员守则
- JG/T 24-2018合成树脂乳液砂壁状建筑涂料
- 屏蔽泵知识专题课件
评论
0/150
提交评论