WEB开发网
开发学院软件开发VC 使用ADO封装类的数据库程序开发实例[第二版](上) 阅读

使用ADO封装类的数据库程序开发实例[第二版](上)

 2008-04-19 20:27:48 来源:WEB开发网   
核心提示:从上次在VC知识库发表《使用ADO封装类的数据库程序开发实例》一文后,得到许多网友的响应,使用ADO封装类的数据库程序开发实例[第二版](上),甚觉欣慰,但由于我对ADO也非完全精通,我不会对因代码bug问题,或版权问题对您造成的损失负任何责任,所以上次写的类很不完美,甚至可能给某些朋友带来麻烦

从上次在VC知识库发表《使用ADO封装类的数据库程序开发实例》一文后,得到许多网友的响应,甚觉欣慰。但由于我对ADO也非完全精通,所以上次写的类很不完美,甚至可能给某些朋友带来麻烦,因此一直想把它写得更完善一点。

现在写的这个类功能应该说比较完善了,基本上封装了ADO组件的大部分方法,并扩展了一些人们常用到的方法,如把文件或图片写到数据库中,从数据库中读出位图字段,字段的值的智能转换等等。

因为实在是时间不够,我几乎没有对command类做任何有效的测试,也没有写相关的文档,而对connection和recordset类的文档,也写得不甚明了,也许有人又要说我很不负责任了。呵呵!

在这个测试程序中,我对连接类和记录集类的大部分方法进行了测试,包括对常用数据类型的存取,添加删除等等,还有对多种数据类型以整型,双精度型,字符型类型的变量读取,其中以字符型兼容性最好,基本上对大部分数据都能返回有效值,其次是双精度型,和整型,它们不能读取字符型,日期型等字段的值. 另外对这两个象的属性进行了一些测试,当然有好多属性是没法全面测试得到的。

我在开发ADO相关程序中切身体会到有几个方法是很有用的方法,如SetFilter,SetSort,Find,书签等等,它们可以让你很有效的操纵记录,而不用老去想怎样去构建SQL语句来实现这样功能。

其中还有一个导入导出xml文件的方法,我不知道这个方法是不是很有用,因为它对中文支持不是很好,导出的xml文件中没法正常显示中文.

最后还一个就是datagrid控件与记录集绑定,我觉得这应该是一个比较有用的技巧,我以前都没想到过,在VC中也可以学VB一样绑定数据库的,这样不用写什么代码就可以方便地修改数据了。

代码在(vc6 + sp5) / vc7 + windows XP 英文专业版/ windows 2000 中文专业版/ windows 2003 英文测试版 /windows 2003 中文企业版下编译通过, 并在access, sqlserver, mysql下进行了测试,除mysql不支持事务等方法外,大部分方法都可以通过测试.

在原则上,我默许您自由地使用,修改,或传播此代码,但您要是用在某某项目中或用于商业用途,那请您注意了,我不会对因代码bug问题,或版权问题对您造成的损失负任何责任。

由于初次封装如此多又不是很熟悉的东西,有什么不当之处还请大家多指教.

本文代码运行效果图如下:

下面详细介绍这几个封装类:

CAdoConnection class

类成员:

构造函数: CAdoConnection()

创建Connection对象.

Open 方法:

BOOL CAdoConnection::Open(LPCTSTR lpszConnect, long lOptions)

连接到数据源.

Params:

[lpszConnect]: 连接字符串, 包含连接信息.

[lOptions]: 可选. 决定该方法是以同步还是异步的方式连接数据源. 可以是如下某个常量:

[常量] [说明]
adConnectUnspecified (默认)同步方式打开连接.
adAsyncConnect 异步方式打开连接.

Ado用 ConnectComplete 事件来通知已经完成连接.

BOOL CAdoConnection::ConnectSQLServer(CString dbsrc, CString dbname, CString user, CString pass, long lOptions)

连接到 SQL Server 数据库.

BOOL CAdoConnection::ConnectAccess(CString dbpath, CString pass, long lOptions)

连接到 Access 数据库.

Params:

[dbpath]: Access MDB 数据库文件路径名.

[pass]: 访问密码.

[dbsrc]: SQL SERVER 服务器名.

[dbname]: 默认的数据库名.

[user]: 用户名.

OpenUDLFile方法:

BOOL CAdoConnection::OpenUDLFile(LPCTSTR strFileName, long lOptions)

1 2 3  下一页

Tags:使用 ADO 封装

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接