运行时出现“对象变量或With对象变量未设置“
代码如下:
Private Sub Command1_Click()
Dim mrc As ADODB.Recordset
txtsql = "select uname from use where uname='" & Trim(Text1.Text) & "'"
Set mrc = ExecuteSQL(txtsql)
If mrc.EOF = True Then这里出错,“对象变量或With对象变量未设置“
MsgBox " 用户名错误或密码错误!", vbExclamation + vbOKOnly, "警告"
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
Exit Sub
End If
uname = mrc.Fields(0)
txtsql = "select uname from use where password='" & Trim(Text2.Text) & "'"
Set mrc = ExecuteSQL(txtsql)
If mrc.EOF = True Then
MsgBox " 用户名错误或密码错误!", vbExclamation + vbOKOnly, "警告"
Text2.SetFocus
Text2.SelStart = 0
Text2.SelLength = Len(Text2.Text)
Exit Sub
End If MDIForm1.Show
Unload Me
End Sub
Public Function ExecuteSQL(ByVal sql As String) As ADODB.Recordset
Dim mycon As ADODB.Connection
Dim rst As ADODB.Recordset
Set mycon = New ADODB.Connection
mycon.ConnectionString = connstring
mycon.Open
Dim stokens() As String
On Error GoTo exectuesql_error
stokens = Split(sql)
If InStr("INSER,DELETE,UPDATE", UCase(stokens(0))) Then
mycon.Execute sql
Else
Set rst = New ADODB.Recordset
rst.Open Trim(sql), mycon, adOpenKeyset, adLockOptimistic
Set ExecuteSQL = rst
End If
exectuesql_exit:
Set rst = Nothing
Set mycon = Nothing
Exit Function
exectuesql_error:
Resume exectuesql_exit
End Function请多多指教
set mrc=new adodb.recordset没有实例化,当然会出错了
明明可简单的一句查询,非要写到ExecuteSQL中去改一下吧
Dim mrc As ADODB.Recordset'加下面这句话
set mrc=new adodb.recordset
还是同样错误
Private adocon As New ADODB.Connection
这句错误.
mrc只能这样set mrc=new adodb.recordset
mrc=executesql()
set rs=new adodb.recordset