在VC_中基于ADO组件的数据库编程技术.pdf
《在VC_中基于ADO组件的数据库编程技术.pdf》由会员分享,可在线阅读,更多相关《在VC_中基于ADO组件的数据库编程技术.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在VC+中基于ADO组件的数据库编程技术昝风彪(青海民族学院 计算机系,青海 西宁 810007)摘 要:利用ADO组件提供的对象及其接口,更容易实现数据库应用程序的升级和协同开发。本文介绍了ADO组件模型及编程模块,探讨了在VC+中利用组件来开发数据库应用程序的技术。关键词:ADO组件;COM;数据库中图分类号:TP311.13 文献标识码:A 文章编号:1001-7542(2003)03-0071-04在数据库编程中已经有象ODBC、OLEDB、DAO等访问技术,但是利用ADO组件提供的对象及其接口,实现更高层次的组件封装,以实现更加具体的功能,将组件的可操作性提高到新的水平。1ADO组件
2、概述1.1COM组件原理COM是一种以组件为发布单元的对象模型,这种模型使多种软件组件可以通过一种通用的方式进行交互。COM提供了组件之间进行交互的规范,也提供了实现交互的环境,因为组件对象之间交互的规范不依赖于任何特定的语言,所以COM也是不同语言协作开发的一种标准。1.2ADO组件模型ADO是采用客户/服务器体系结构的COM模型,对象和客户之间的相互作用是作为客户/服务器模型里的元素展开的,ADO组件同客户程序的协作方式有进程内协作和进程外协作,而进程内协作是组件与客户程序在同一个组件内进行,拥有共同的地址空间,其效率与同一进程里的任何C+函数没有区别,而进程外协作是组件运行在独立地址空间
3、,不与客户程序发生数据共享。1.3ADO编程模块ADO包装了DLEDB的许多功能函数并使开发者能够在所有的语言中访问数据源中各种各样的数据。ADO编程包括制作ADO类库的调用,ADO库按图1层结构而建立的:图1 每个ADO连接对象都使用一个数据源名字,一个用户ID和口令来建立起到一个数据库的连接。通过执行一些SQL语句,这些SQL语句返回一个已含有数据行的数据库光标,形成每个ADO记录集,可以检查到这些行,也可以通过ADO记录集更新它们。每个记录集包含一个字段集,这些字段集依次包含一些字段对象,这些字段对象含有已经找到的数据库字段的信息,包括数据类型、长度和存入的值。2 基于ADO组件的客户编
4、程实现2.1 组件支持ADO组件支持是通过ATL(Activex Templete Library)来支持的。ATL是一套C+模板库。ATL的优点是能够建立高效的、灵活的、轻量级的COM组件,ATL应用程序比MFC应用程序更小巧、速度更快。收稿日期:2002-12-20作者简介:昝风彪(1971-),男(藏族),青海互助人,青海民族学院计算机系讲师。2003年第3期 青海师范大学学报(自然科学版)Journal of Qinghai Normal University(Natural Science)2003No.3 1994-2009 China Academic Journal Elect
5、ronic Publishing House.All rights reserved.http:/通过ATL使COM应用开发尽可能地自动化,摆脱大量的冗余代码。ATL提供的数据库访问COM接口是对OLE DB API的包装,其接口主要有如下几个类:CDataSource、CSession、CCommand、CRowset、CAcces2sor,用来创建数据源对象、客户程序与供应程序的对话、处理数据等。2.2 编程实现2.2.1ADO支持虽然已经有组件支持,但还需要ADO的支持,在组件支持的数据库开发方式中,必须在应用程序的头文件中包含adoid.h和adoint.h。2.2.2ADO数据库连接
6、在使用ADO数据库之前,必须先建立数据库连接,通过ADOConnection界面来完成。先声明ADO2Connection界面的指针,然后使用CoCreateInstance方法在内存中建立连接。CComPtrm-Conn;CoCreateInstance(CLSID-CADOConnection,NULL,CLSCTX-INPROC-SERVER,IID-IADOConnection,(LPVOID3)&m-Conn);调用CoCreateInstance函数时COM搜索注册表找到CLSID,并创建一个CADOConnection对象的一个实例,并通过IID-IADOConnection接口
7、指针引用对象,而参数CLSCTX-INPROC-SERVER指出ADO连接对象在程序中以DLL方式运行,而不是在单个程序中或甚至在不同的机器中以EXE方式运行。CoCreate2Instrance函数返回一个HRESULT,以表明是否创建成功,一旦分配ADO连接成功,就可以用CADOCon2nection的Open方法连接到数据库。m-Conn-Open(BSTR ConnectionString,BSTR UserID,BSTRPassword,LongOptions);Open方法中指定了三个BSTR参数,用来说明所连接的数据源,用户ID、口令,Options参数指定了以后要用到的光标类型
8、,可以是adOpenUnspecified,adOpenForwardOnly,adOpenKeySet,adOpenDynamic,adOpenStatic。由于在Open方法中数据源、用户ID、口令是BSTR数据类型,所以在代码中变量说明时使用CComBSTR来说明。2.2.3ADO记录集成功建立ADO连接后,就可以创建一个ADO记录集。先声明ADORecordset指针,再调用CoCreate2Instance方法进行分配。CComPtrm-pSet,CoCreateInstance(CLSID-CADORecordset,NULL,CLSCTX-INPROC-SERVER,IID-IA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC_ 基于 ADO 组件 数据库 编程 技术
限制150内