各位好,我用VB 建立一线程,线程里包括对数据库的一些操作,但在建立ADOCONNECTION对象时出现 automation error coinitialize has not been
called ,但VB好象不能调用 coinitialize(NULL),请教各位高手该如何处理?
数据库操作的类模块代码如下:
Public ObjConn As ADODB.Connection
Public ObjRecordset As ADODB.Recordset
Public DataConnection As New ADODB.Connection
'连接数据库
Public Function openconnection() As ADODB.Connection
'On Error Resume Next
'Dim ObjConn As ADODB.Connection
On Error GoTo err1
If ObjConn Is Nothing Then
Set ObjConn = New ADODB.Connection '出现错误
ObjConn.ConnectionString = "Provider=SQLOLEDB.1;Password=; _
Persist Security Info=True;User _
ID=;Initial Catalog=SMS;Data _
Source=10.50.0.231"
ObjConn.Open
End If
Set openconnection = ObjConn
Exit Function
err1:
MsgBox "desc:" & err.Description & "help" & err.HelpFile
End Function
'增加记录
Public Function InsertData(SqlSt As String) As Boolean
Dim InsertRS As New ADODB.Recordset
'On Error GoTo err
'Set InsertRS = New ADODB.Recordset
'If DataConnection.state = 0 Then
Set DataConnection = openconnection
'End If
InsertRS.ActiveConnection = DataConnection
'InsertRS.DataSource = SqlSt
InsertRS.Open SqlSt, , , adLockOptimistic
InsertData = True
Set InsertRS = Nothing
Exit Function
'err:
'Set InsertRS = Nothing
'InsertData = False
End Function'查询
Public Function QueryData(SqlSt As String) As ADODB.Recordset
On Error GoTo err
Set QueryData = New ADODB.Recordset
If DataConnection.state = 0 Then
DataConnection = openconnection
End If
QueryData.ActiveConnection = DataConnection
QueryData.Source = SqlSt
QueryData.Open , , adOpenStatic, adLockReadOnly
Exit Function
err:End Function
called ,但VB好象不能调用 coinitialize(NULL),请教各位高手该如何处理?
数据库操作的类模块代码如下:
Public ObjConn As ADODB.Connection
Public ObjRecordset As ADODB.Recordset
Public DataConnection As New ADODB.Connection
'连接数据库
Public Function openconnection() As ADODB.Connection
'On Error Resume Next
'Dim ObjConn As ADODB.Connection
On Error GoTo err1
If ObjConn Is Nothing Then
Set ObjConn = New ADODB.Connection '出现错误
ObjConn.ConnectionString = "Provider=SQLOLEDB.1;Password=; _
Persist Security Info=True;User _
ID=;Initial Catalog=SMS;Data _
Source=10.50.0.231"
ObjConn.Open
End If
Set openconnection = ObjConn
Exit Function
err1:
MsgBox "desc:" & err.Description & "help" & err.HelpFile
End Function
'增加记录
Public Function InsertData(SqlSt As String) As Boolean
Dim InsertRS As New ADODB.Recordset
'On Error GoTo err
'Set InsertRS = New ADODB.Recordset
'If DataConnection.state = 0 Then
Set DataConnection = openconnection
'End If
InsertRS.ActiveConnection = DataConnection
'InsertRS.DataSource = SqlSt
InsertRS.Open SqlSt, , , adLockOptimistic
InsertData = True
Set InsertRS = Nothing
Exit Function
'err:
'Set InsertRS = Nothing
'InsertData = False
End Function'查询
Public Function QueryData(SqlSt As String) As ADODB.Recordset
On Error GoTo err
Set QueryData = New ADODB.Recordset
If DataConnection.state = 0 Then
DataConnection = openconnection
End If
QueryData.ActiveConnection = DataConnection
QueryData.Source = SqlSt
QueryData.Open , , adOpenStatic, adLockReadOnly
Exit Function
err:End Function
解决方案 »
- 高分求解:取复杂UPDATE 的WHERE 字符串位置
- 按时间相应command1按钮事件问题
- MSFLexGrid控件老是下标越界,怎么回事啊
- VB 让Com口接受组合键
- 问一条SQL语句,不同数据库之间拷贝表,用的是SQL Server2000,哪位大哥给点意见
- 登录窗体中选择不同的SQL数据库连接,怎么传递到公用模块?
- 在VB中使用ADODC控件,如何共享连接呀
- vba中调用gif图片问题
- 怎样使richtextbox加载文件时文本超过richtextbox控件框长度时不自动换行,而使用scrollbar
- MSHFlexGrid1双击列头时,所有记录按本列自动升序/降序排序?
- 急!!!急!!!大虾请进!
- 急!!有谁能告之如何判断本地连接断开与否?给点提示,小女谢过了
为什么会这样?难道你的线程和程序不在同一个工程内吗?
是在同一个DLL里的不同模块,请指点,谢谢!!
dim image1 as image
在你的这种情况下应该使用
Set ObjConn=createobject("Adodb.connection")
创建数据库连接对象,然后再进行操作
提示到此应该差不多了,毕竟你的信誉度不够
老兄,你那方法不行呀,能不能给多点提示?谢谢!
我已经把它们放到同一模块下,没有出现错误,但程序没有好象停留在
Set ObjConn = New ADODB.Connection
这句中,没有继续执行下一句,请问这是什么问题?谢谢