小菜写了一个表操作的类,可是运行到mobjRs.Open的时候却出问题了,
提示"连接无法用于执行此操作。在此上下文中它可能已被关闭或无效"
没CSDN的盘,请大侠帮帮忙,谢谢********************代码如下***********************************
Public Function ExecuteSQL(ByVal vstrSQL As String) As ADODB.Recordset
If Not mblnFlag Then
mstrError = "数据库未打开"
Call showError
Exit Function
End If
On Error GoTo errHandle
Dim strArray() As String
strArray = Split(vstrSQL)
Set mobjCon = New ADODB.Connection
If InStr("INSERT,DELETE,UPDATE", UCase$(strArray(0))) Then
mobjCon.Execute vstrSQL
mstrMsg = strArray(0) & "操作成功"
ElseIf InStr("SELECT", UCase$(strArray(0))) Then
Set mobjRs = New ADODB.Recordset
mobjRs.Open Trim$(vstrSQL) ', mobjCon, adOpenKeyset, adLockOptimistic
Set ExecuteSQL = mobjRs
mstrMsg = "查询到" & mobjRs.RecordCount & "条记录"
End If
Exit Function
errHandle:
mstrError = Err.Description
Debug.Print mstrError
' Call showError
Err.ClearEnd Function
提示"连接无法用于执行此操作。在此上下文中它可能已被关闭或无效"
没CSDN的盘,请大侠帮帮忙,谢谢********************代码如下***********************************
Public Function ExecuteSQL(ByVal vstrSQL As String) As ADODB.Recordset
If Not mblnFlag Then
mstrError = "数据库未打开"
Call showError
Exit Function
End If
On Error GoTo errHandle
Dim strArray() As String
strArray = Split(vstrSQL)
Set mobjCon = New ADODB.Connection
If InStr("INSERT,DELETE,UPDATE", UCase$(strArray(0))) Then
mobjCon.Execute vstrSQL
mstrMsg = strArray(0) & "操作成功"
ElseIf InStr("SELECT", UCase$(strArray(0))) Then
Set mobjRs = New ADODB.Recordset
mobjRs.Open Trim$(vstrSQL) ', mobjCon, adOpenKeyset, adLockOptimistic
Set ExecuteSQL = mobjRs
mstrMsg = "查询到" & mobjRs.RecordCount & "条记录"
End If
Exit Function
errHandle:
mstrError = Err.Description
Debug.Print mstrError
' Call showError
Err.ClearEnd Function
mobjCon.Open "你的连接字符串"
Dim strArray() As String
strArray = Split(vstrSQL)
Set mobjCon = New ADODB.Connection
mobjCon.ConnectionString="你的连接字符串"
mobjCon.Open