我做了个软件,打包后安装在其他电脑上,一启动就发生“类不支持自动化或不支持期望的接口 431”错误,我引用的是MIcrosoft ActiveX Data 2.5 Library, 后来改用MIcrosoft ActiveX Data 2.8 Library 后就正常了
。过了几天,又把那个软件安装在其他电脑上,有发生“类不支持自动化或不支持期望的接口 431”错误,这时我改引用MIcrosoft ActiveX Data 2.5 Library, 这才正常。
我就纳闷了,为什么同样的软件在不同的电脑里发生两种情况:一个是支持MIcrosoft ActiveX Data 2.5 Library,而另一个支持MIcrosoft ActiveX Data 2.8 Library 。
我所使用的数据库连接方法是:
Dim connectionstring As String
connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=manager;Data Source = " + App.Path + "\data.mdb"
Cn.Open connectionstring
Cn.Close
请高手指点指点,如何做,才能把软件做得一次性稳定,如此调来调去真麻烦
。过了几天,又把那个软件安装在其他电脑上,有发生“类不支持自动化或不支持期望的接口 431”错误,这时我改引用MIcrosoft ActiveX Data 2.5 Library, 这才正常。
我就纳闷了,为什么同样的软件在不同的电脑里发生两种情况:一个是支持MIcrosoft ActiveX Data 2.5 Library,而另一个支持MIcrosoft ActiveX Data 2.8 Library 。
我所使用的数据库连接方法是:
Dim connectionstring As String
connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=manager;Data Source = " + App.Path + "\data.mdb"
Cn.Open connectionstring
Cn.Close
请高手指点指点,如何做,才能把软件做得一次性稳定,如此调来调去真麻烦
解决方案 »
- 再问 On Error Resume Next
- 有关带参函数调用问题,请教!解答后另外给分
- 关于串口通信问题,有谁了解rs-232通信端口,高手请指教!
- 给位大侠,MAPI能删除未发送的老邮件么?急!!
- 基于SNMP网管软件,怎样获取私有参数项
- 怎么求反余弦呀???帮帮忙。
- 我想重新注册一个ID,但是又舍不得现在这个ID积累的分,能不能转移分啊?或注销现在ID转入再注册的ID?
- 怎样使程序在开机时自动启动运行????
- 如何控制页面中的滚动条 分数增加中
- hnlzh(吸海垂虹),songyangk(小草),我的OICQ:7774710,在上面说好吧???在这上面我只能说三次话!!!
- or总是用不对,求指导
- 为什么数据库中【价格】字段(文本型)是空的,ISNULL(rs.fields("价格"))的结果却是FALSE
...
Dim Cn As Object
然后需要初始化,比如你原来的是用 New 初始化的,如:
Dim Cn As New Connection
现在应为定义成 Dim Cn As Object 所以初始化过程变成
Set Cn = CreateObject("ADODB.Connection")
这个过程可以放到Load 事件里,如:Dim Cn As Object ' 定义连接对象
Private Sub Form_Load()
Set Cn = CreateObject("ADODB.Connection")
Cn.open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=manager;Data Source = " + App.Path + "\data.mdb"
' 定义数据集对像
Dim rs As Object
Dim count As Long
Set rs = CreateObject("ADODB.Recordset")
rs.open "select count(*) as c from 表", Cn, 3, 1
count = rs!c
rs.Close
Set rs = Nothing
MsgBox "查询表的记录数为:" & count
End SubPrivate Sub Form_Unload(Cancel As Integer)
Cn.Close
Set Cn = Nothing
End Sub