以下是我连接数据库的模块,但是在有的计算机上能连上,而有些计算机又连不上。我怀疑是连不上的计算机上的ado有问题,但我做好的安装程序是一样的(在所有计算机上都用同一个)而且还安装了微软的Microsoft Data Access Components 2.7。请问各位高手原因在何处,谢谢。qq:373650787
Dim ServerIP As String
Dim i As Integer
' For i = 0 To 1
'执行SQL语句,返回记录集
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error '错误处理
sTokens = Split(SQL) '取得字符串的第一个词
Set cnn = New ADODB.Connection '定义一个新的数据库连接
ServerIP = ""
ServerIP = GetIni("network", "serverip", "config.ini")
ServerIP = ServerIP & "," & Port
cnn.ConnectionTimeout = 15 '在取消连接尝试之前等待 15 秒
cnn.CursorLocation = adUseClient 'adUseClient 使用由本地游标库提供的客户端游标。
cnn.cu
'本地游标引擎通常允许使用的许多功能可能是驱动程序提供的游标无法使用的,
'因此使用该设置对于那些将要启用的功能是有好处的。adUseClientBatch 与 adUseClient 同义,也支持向后兼容性。
cnn.Open ("Provider=SQLOLEDB.1;Data Source=" & ServerIP & ";Persist Security Info=True;Initial catalog=" & Dbname & ";User ID=" & Dbuser & ";Password=" & dbpass)
'打开连接
If InStr("INSERT,DELETE,UPDATE,ALTER", UCase$(sTokens(0))) Then '判断将要进行的操作
cnn.Execute SQL '执行语句
MsgString = sTokens(0) & " query successful" '返回消息
Else
Set rst = New ADODB.Recordset '定义一个数据集
rst.Open Trim$(SQL), cnn, adOpenDynamic, adLockOptimistic
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & " 条记录 "
End If
ExecuteSQL_Exit: ' 退出模块
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error: '出错处理
MsgString = "查询错误: " & Err.Description
' Next i
Resume ExecuteSQL_Exit
[此贴子已经被作者于2006-8-5 17:04:33编辑过]