资源描述:
《vc++与access连接及其简单操作的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VC++与Access连接及其简单操作的实现第25卷第1期2006年3月武汉工业学院JournalofWuhanPolytechnicUniversityVol_25No.1Mar.2006文章编号:1009—4881(2oo6)oi一0022—04VC++与Access连接及其简单操作的实现顾保磊(中国地质大学计算机学院,湖北武汉430074)摘要:主要介绍ADO的基本概念,以及在Windows2000下以VC++为开发环境介绍一种在应用程序(MFC)中使用ADO来进行数据库应用程序的开发,并说明动态加栽ADO数据源Access的方法和给出了相关的程序代码.关键词:VC
2、++;数据库;ADO;Access中图分类号:TP312文献标识码:A0引言在使用VC++,VB等高级语言编写数据库应用程序时,往往需要用户自己在控制面板中配置ODBC数据源.对一般用户,配置ODBC数据源是比较麻烦的工作.在实际应用中,用户往往要求在同一应用程序中访问不同的数据源,修改注册表的方法固能达到要求,相对而言,采用ADO数据源动态加载的方法则要简单得多.ADO(ActiveXDataObject)是Microsoft数据库应用程序开发的接口,它是建立在OLEDB之上的高层数据库访问技术,通过OLEDB封装和继承了ODBC的功能,并以统一的方式访问存储在不同信息
3、源中的数据.OLEDB是一组"组件对象模型"(COM)接口,是新的数据库低层接口,也是MicrosoftUDA(UniversalDataAccess)策略的技术基础llJ.1Access数据库连接与关闭的实现步骤1.1创建基于对话框的项目test和Access的数据库testdb启动VC++应用程序,创建一个基于对话框的项目test,并指定其存放的位置为"D:test".启动MicrosoftAcccss应用程序,创建一个Access的数据库testdb.mdb,并将它保存到"d:test".在数据库收稿日期:2005—09—02作者简介:顾保磊(1952一),男,
4、江苏省灌云县人,副教授.testdb中新建一个数据表"测试",它有"编号"和"姓名"两个字段,数据类型分别为数字和文本.l-2初始化OLE/COM库和用#import指令引入ADo类型库ADO类的定义是作为一种资源存储在ADODLL(msadol5.dt1)中,在其内部称为类型库.它描述了自治接口,以及C++使用的COMvtable接口.当使用#import指令运行时VisualC++需要从ADODLL中读取这个类型库,并以此创建一组C++头文件.这些头文件具有.tli和.tIh扩展名,可在所建项目的目录下找到这两个文件】.用#import指令引入ADO类型库的作用与}}
5、include类似,一般是在stdafx.h文件的最后加入如下语句来实现:#import"C:ProgramFilescommonfilessystemad0msadol5.dU"no—namespacerename("EOF"."adoEOF")上述代码"C:ProgramFilescommonfilessystemadomsadol5.dll"指明了文件msadol5.dll的具体位置.其中no—namespace指明ADO对象不使用命名空间口].在有些应用程序中,其对象与ADO中的对象之问可能会出现命名冲突,所以有必要使用命名空间.若要使用命名空
6、间,可把代码no_namespace改为rename—namespace("AdoNS")或缺省:1期顾保磊:VC++与Access连接及其简单操作的实现23#import"C:Pin.amFilesCommonFilesSystemadomsado15.dU"rename—namespace("AdoNS")rename("EOF","adoEOF")//AdoNS是任意给定的命名空间名或#impo~C
7、ProgramFiles
8、CommonFilesISystemadomsadol5.dll"rename("EOF","ad0EOF")代码rename(
9、"EOF","adoEOF")在ADO中的EOF(文件结束)更名为adoEOF,以避免与在其他库中定义的EOF冲突.l-3ADO接口简介ADO库包含三个基本接口:~ConnectionPtr接口,一CommandPtr接口和_RecordsetPtr接口.这里主要介绍一ConnectionPtr和一RecordsetPtr接口.一ConnectionPtr接口返回一个记录集或一个空指针,通常使用它来创建一个数据连接;一RecordsetPtr是一个记录集对象,它对记录集提供了更多的控制功能,如记录锁定,光标控制等_6J.在对话