Microsoft ActiveX Data Objects (ADO) 支持用于建立基于客户端/服务器和 Web 的应用程序的主要功能。其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。
本次封装的CadoInterface类仅针对MFC的使用,目的是优化对ADO的操作,避免频繁写try catch(…)以及在连库、开表、写数据、读数据等过程中一些重复性的工作。该类仅对一些常用的操作进行封装,用户可以根据需要进行修改和扩展。
封装类主要包括:基本操作、增值操作、支持算法与支持结构。基本操作、增值操作、支持算法在AdoInterface.h与AdoInterface.cpp中声明定义,支持结构在DataBelong.h中定义。
这里主要介绍该类的应用,实现细节的说明在代码中均有注释。
一、封装类的关系
图一 封装类关系图,箭头代表包含关系,用户使用时只需包含界面文件AdoInterface.h
二、基本操作部分
(一)连接数据库
CString Conn="provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb";
myado.ConnecDataLibrary(Conn,"","");
本例连接了一个无密码的Access库,如用其他方式连接数据库,用户可自行更改连接字符串,或者以枚举方式将多种连接方式封装到本函数中。
(二)开表
myado.OpenSheet("select * from file");
用户仅需给出开表条件即可,其他的枚举参数均有默认值,如用户需要以不同方式打开,则可以重新给定枚举参数的默认值。
(三)关库、关表
myado.CloseSheet();
myado.CloseDataLibrary();
(四)返回指针
myado.GetConnPtr();
myado.GetRecoPtr();
如用户的需求超出本类提供的操作时,可以通过这两个函数获取_ConnectionPtr与_RecordsetPtr指针,调用ADO的操作。
(五)属性判断
myado.BOF();
myado.adoEOF();
(六)指针的移动
5种基本的指针移动(包括:MoveFirst、MoveLast、MoveNext、MovePrevious与Move(long Num))。
(七)执行SQL语句
CString str="Delete from file where AGE=36";
myado.Execute(str);
(八)获得字段内容
_variant_t str;
myado.GetCollect("NAME",str);
CString name=str;
(九)删除一条记录
myado.Delet();
默认删除当前记录,用户可根据需要修改枚举参数。