Public Function executesql(ByVal sql As String, msgstring As String) As ADODB.Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim stokens() As String
stokens = Split(sql)
Set cnn = New ADODB.Connection
cnn.Open connectstring
If InStr("INSERT,DELETE,UPDATE", UCase(stokens(0))) Then
   cnn.Execute sql
   msgstring = stokens(0) & "查询成功"
   Else
    Set rst = New ADODB.Recordset
    rst.Open Trim(sql), cnn, adOpenKeyset, adLockOptimistic
    Set executesql = rst
    msgstring = "查询到" & rst.RecordCount & "条记录"
End If
End Function
上面这个大家都熟悉问题如下
label1(用户登录)   text1
label2(输入密码)   text2
     command1(确定)Private Sub Command1_Click()
Dim mrc As ADODB.Recordset
Dim txtsql, msgtext As String
If Trim(Text1) <> "" Then
  txtsql = "select * from users where id=jiang"
  Set mrc = executesql(txtsql, msgtext)
  If mrc.EOF = True Then
    MsgBox "用户不存在"
    Else
      If Trim(Text2) = Trim(mrc!password) Then
        MsgBox "登录成功"
        Else
          MsgBox "登录失败"
      End If
   End If
Else
  MsgBox "没有这个用户"
End If
End Sub我在users表中加了个用户,但我无法登录提示错误为:rst.Open Trim(sql), cnn, adOpenKeyset, adLockOptimistic说这句有错
id 为 char
passwodr 为 char
我输入用户名jiang 
结果说什么:   列名'jiang'无效
请高手指点一二