基于VC平台的数据存取对象DAO技术.docVIP

基于VC平台的数据存取对象DAO技术.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VC平台的数据存取对象DAO技术.doc

基于VC平台的数据存取对象(DAO)技术(1) 杨峰 唐常杰 徐代刚 宋晓梅 四川联合大学计科系(610064) 摘要:数据访问对象(DAO) 使用Microsoft Jet数据库引擎,可访问Microsoft Access 数据库,ODBC数据源,以及其他可安装的ISAM数据库。在VC平台上有灵活的DAO编程方法。MFC将DAO类封装其中。 VC是强大而灵活的编程语言。常常需要在VC中直接对数据库中的数据进行查询等操作。本文介绍使用数据存取对象(DAO)连接数据库的技术,并通过实例对细节加以说明。 1 DAO可访问的数据库 DAO 使用Microsoft Jet数据库引擎可访问Microsoft Access (.MDB) 数据库,ODBC数据源,使用一个ODBC驱动器,以及其他可安装的ISAM数据库,如dBase, Paradox, FoxPro, Btrieve等等。 2 DAO编程的三种方法 (1)采用DAO OLE Automation接口: DAO为OLE Automation提供了一个基于vtable的应用接口。DAO SDK提供了描述DAO的vtable接口的头文件,因此不需要再通过IDispatch机制编程。 当创建了一个DBEngine对象实例后,对象的实例是通过父类来创建。否则,这些对象就是典型的 OLE Component Object Model (COM) 对象。因此,应用程序需要负责释放这些对象的空间。 (2)dbDAO类: 用 VB开发 DAO接口非常简单并且需要很少的 OLE COM 知识。 dbDAO类支持对象的动态分配空间和回收空间,可能的情况下,它还采用自带的C++ 数据类型,或标准的OLE变量。它不需要精通C++,调用其函数的语法同VB中的调用相似。 它支持直接在数据结构中读取大量数据。 (3)采用MFC DAO类: 用VC++ 编程, DAO的功能是通过MFC 完成的。基于CRecordset 类的代码是为ODBC开发的, 其派生类CDAORecordset类在继承了全部数据库功能的同时,增加了更完整的数据库功能。 此外,DAO还可通过ODBC访问其他类型的数据库。用户可以直接调用VC ++ 4.0版本中所包含的DAO以及DAO SDK。 3 MFC所封装的DAO类 CDaoWorkspace 该类对应于DAO中的工作台,为用户定义一个对话。它包含打开的数据库, 并提供同时处理机制。 CDaoDatabase 该类对应于DAO中的数据库,它代表与数据库的连接,比ODBC数据库类有更强的能力去操纵数据库,可以直接读取Microsoft Jet的 .MDB文件。 CDaoTableDef 该类对应于DAO中的Tabledef (表定义), 表示一个表的模式(结构),使用SQL的Data Manipulation Language (DML) 子集来生成并操纵数据库中的表。 CDaoQueryDef 该类对应于DAO中的Querydef (查询定义)。用户所生成的大多数应用程序只需要数据库记录的一个子集。Querydef对象表示用户生成并运行的查询,或者用来生成记录集合,按要求过滤和排序记录。 CDAORecordset 该类对应于DAO中的记录集合,它代表从数据源中选择的记录集合。记录集合可以代表从一个或多个数据库表的行中所选择的一个或多个特定的列(栏)。 CDaoException 该类对应于DAO中的异常处理类。 CDaoFieldExchange 该类不是MFC特有的,它管理着数据库中的记录与recordset中的字段变量之间的数据交换。 通过上述类,MFC封装了DAO的各种功能。下面,通过两个VC 5.0做的简单数据库应用程序,阐明VC+DAO+DB的技术。 4 示例 例1一个简单的查询修改程序。 设已经用Access建立如下数据库ENROLL.MDB,其中有表:Teacher和 Student, 如图1。 表 Teacher TeacherName CourseName Hours Tang Graphics 4 Tang Math 6 Wang Algorithm 3 Zhang C++ 4 表 Student StudentNo StudentName Class 1005 Zhao Algorithm 1002 Qian Algorithm 1002 Sun C ++ 1009 Lee C ++ 图1 两个数据库表 本程序欲显示如下SQL语句的查询结果: SELECT * FROM Teacher, Student WHERE Teacher . CourseName

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档