(桂林长海发展有限责任公司,广西桂林541001)
摘要:ADO技术是一种高层数据库的访问接口,由于具有着鲜明的优势被广泛推广使用。基于此,本文首先分析了基于VisualC++的数据库开发的常用技术,然后研究了ADO技术开发数据库的基本流程,以期能够推动ADO技术的应用,简化程序开发的流程。
关键词:VisualC++;ADO;数据库;开发技术
引言:
VisualC++的应用,得到了多种数据库的开发技术,如ADO、ODBC、DAO等等。在这些技术中,ODBC是一种标准技术,具有着广泛的应用范围,但是只能对关系数据库展开访问,也因此被ADO技术所取代。ADO技术具备其他技术的优点,让数据库开发得到充分的简化。因此,还需要加强对ADO技术的研究,让其得到充分的应用。
一、基于VisualC++的数据库开发的常用技术
(一)ODBCAPI开发技术
ODBC是一种经常被使用进行深入访问的编程接口,用来进行交互性设计,也就是一个应用程序利用同样的源代码能够访问各种各样的数据库管理系统,也就是DBMS。在数据库中的应用程序是在ODBC之中调用函数,在驱动程序的接口主要是利用数据库模块来实现的。使用驱动程序让程序被数据库中得到隔离。在ODBC中,体系结构主要是由应用程序、驱动程序、管理器以及数据源等这些部件构成。具体的结构是由应用程序控制驱动程序的管理器,管理器又控制三个驱动程序,驱动程序之下是数据源,数据源之下是数据库。ODBC作为一种低层的访问技术,ODBCAPI让客户端的应用程序被从底层开始设置,达到控制数据库的能力,从而完成高层数据库在技术上无法实现的功能。
(二)MFCODBC开发技术
ODBC提供了一种可以访问数据库的接口,还能够直接使用创建程序需要使用的代码。基于VisualC++提供MFCODBC,其中又封装了ODBCAPI,向对象提供了数据库类,让创建应用程序被大大简化[1]。MFCODBC相比于ODBCAPI更加简单易用,使用MFCODBC技术并不能提供数据库低层的控制,也就是无法进行数据库的底层操作。因此,MFCODBC是一种高层的访问技术。
(三)DAO开发技术
DAO技术是一种借助程序代码创建数据库以及操作数据库的技术,利用多个DAO对象能够构建一个体系结构,在体系结构中,能够进行多个DAO对象的合作,在通过数据库进行数据库的访问以及数据库的定义。
(四)OLEDB以及ADO开发技术
OLEDB事实上是一种COM的接口,它能够给应用程序进行访问提供信息源的数据,也提供统一的访问方法,这些信息可属关系型,也可属非关系型。这些接口可以支持DBMS功能作用于数据库中,让数据库源得到数据的共享。OLEDB这一类统一的接口,能够让程序可移植性得到增强,属于一种新型低层接口。
ADO也是一种OLEDB,差异在于ADO面对对象,很好的继承了OLEDB的优点,ADO还能对OLEDB接口进行封装,重新定义ADO面对对象,让应用程序开发进一步简单化[2]。ADO作为一种访问数据库使用的高层接口,最主要的优点在于便于使用、具有更快的速度以及更少的内存,同时磁盘遗迹更小,和DAO以及RDO相类似,ADO也是一种在对象基础之上的技术。
二、ADO技术开发数据库的基本流程
(一)ADO对象模型
使用ADO目的在于对数据的访问、编辑以及更新,为了达到这个目的,要构建对象模型。第一,Connection对象是连接应用程序或者数据源,来处理命令或者事务,让应用程序得到管理,还能实现和数据库之间的通信。第二,Command对象让数据源执行指定命令,对象能够查询数据库,同时回到Recordset做出记录,也可以执行插入和删除指令。第三,Recordset对象能够用作连接记录集,得到可查询的结果,结果是由记录和字段构成的。第四,Fields集合以及Field对象都包含在Recordset对象之内,每个Recordset对象包含一个Fields对象集合,每一个Fields集合含有一个Field对象,实现允许用户访问数据值的功能。第五,Parameters集合以及Parameter对象包含在Command内,一个Command对象含有1个Parameters集合,同样包含了所有参数,每一个参数都是由Parameter所表示的。第六,Errors集合以及Error对象也包含在Connection之内,每一个Connection对象含有一个Errors集合,Errors集合之内的Error对象,可以提供出错误信息。
(二)开发流程
首先要进行COM库初始化,事实上,ADO就是一组COM动态库,应用程序调用ADO之前,要经过COM库的初始化过程,在MFC应用程序中,常会使用重载函数来实现。然后需要使用Connection起到连接数据库的作用。再次要使用已经建立好的连接,利用Connection对象以及Command对象来执行SQL指令。首先确定一个Connection对象的指向,然后利用重载函数进行数据库的连接,在程序中使用到的数据库包含SQL、Access等。使用的连接方法,也就是先将数据库连接到JET数据库引擎,在用过DSN的数据源对ODBC数据库进行连接。这样就让Connection对象和数据库进行了连接。也可以使用Recordset来获得记录,并进行查询以及处理。利用记录集对数据进行操作的方法主要有三种:第一,使用Connection对象中的Execute来执行SQL的语句,在执行之后,能够返回记录集,向执行储存过程一样[3]。第二,在执行复杂的参数命令的时候,要利用命令对象进行数据源操作,在创建命令对象的基础上,执行命令对象的函数,再返回记录集。在使用之后,将连接关闭,释放出对象。
例如:建立出一个在对话框基础之上的MFC工程ADO-Test,利用列表视图的控件ListView呈现出报表形式的数据。进行访问的数据库也就是目录中的Person.mdb。和DAO中的数据对象一样,ADO是由多个接口来构成的,包括Connection接口、Command接口、Recordset接口。在程序中,使用的记录集是利用Recordset作为对象进行记录集的查询,不会使用到Command接口。
结论:
综上所述,本文首先分析了基于VisualC++,数据库开发的常用技术,主要包括ODBCAPI、MFCODBC、DAO、OLEDB以及ADO。然后研究了ADO技术开发数据库的基本流程,先简单阐述了ADO对象模型,然后研究了开发流程,首先要初始化COM库,然后连接数据库,最后利用记录集操作数据。
参考文献
[1]李欣.基于ADO下数据库开发技术的分析[J].科技传播,2017,9(15):67-68.
[2]何晓冬.一种DHTML和RDO技术的web数据库开发技术[J].牡丹江教育学院学报,2016(01):132-134.