VC的另类数据库编程

ZDNet软件频道 时间:2002-10-09 作者:盛放 |  我要评论()
本文关键词:shengfang
本文结合实例介绍了在VC中通过调用VB生成的ACTIVEX DLL进行数据库操作的方法和优点。
ADO 是为 Microsoft最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。

ACTIVEX DLL是一个包含可执行代码的组件,应用程序通过创建组件对象从而调用组件的属性和方法。

在使用VC开发应用软件的时候,经常需要进行数据库操作,可是VC操作数据库实在比较麻烦,而VB编制数据库软件却十分方便快捷,有什么办法可以让VC编制数据库软件也这么轻松呢?

在工作中,本人需要从串口接收数据并保存到数据库中,如果直接由VC调用ADO组件进行数据库访问、操作,比较麻烦,因此我想利用VB使用ADO组件的方便以及微软的COM接口由VC调用VB完成任务,经过资料查找,发现大部分都是关于如何使用VC制作控件或者DLL后从VB进行调用的,很少关于VB制作ACTIVEX DLL由VC进行调用的文章,在此本人将结合实例说明如何用VB制作一个操作数据库的ACTIVEX DLL,再在VC调用该DLL,从而使得VC方便的使用ADO技术操作数据库。

制作VB数据库访问ACTIVEX DLL

1、首先使用VB6.0创建一个心得ACTIVEX DLL工程,将工程命名为prjado、将类命名为clsado。

2、为工程添加ADO对象库的引用。工程->引用:Microsoft ActiveX Data Objects2.0 Library

3、为类增加两个新的变量:

Dim con As New ADODB.Connection  ‘定义ADO会话连接对象

Dim cmd As New ADODB.Command       ‘定义ADO命令对象

4、增加初始化函数

Public Function ado_Init()

con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=True;Data Source=sms.mdb”

cmd.ActiveConnection = con

End Function

建立到数据源的物理连接

指定Command对象当前所属的 Connection 对象。

5、数据库操作函数

Public Function ado_add(ByVal strdata As String)

cmd.CommandText = "insert into comdata (timm,datt) values ('" + (Format(Date, "YYYY-MM-DD ")) + Str((Time)) + "','" + (strdata) + "')"

cmd.Execute

End Function

将参数保存到SMS.MDB的COMDATA表中

注意:函数声明时必须指定参数是传值(ByVal),否则VB默认为按地址传递(ByRef)

6、连接关闭函数

Public Function ado_UnInit()

con.Close

Set cmd = Nothing

Set con = Nothing

End Function

关闭连接并且释放对象。

保存工程,编译prjado.dll,这就是我们的服务组件,它完成了调用ADO对象实现对数据库操作的功能。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134