下面这是我做的登陆模块,因为总是出现“=”附近有语法错误,一直没办法和数据库连上,请各位前辈高手帮忙解答,谢谢。
Private Sub cmdok_Click()
On Error GoTo errhandler
Dim gconn As New ADODB.Connection
gconn.Open "Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=zlt;Initial Catalog=ec"
Dim user As String, pwd As String
user = txtuser
pwd = txtpwd
gnusertype = cbousertype.ListIndex
gsusername = user
Dim strsql As String
strsql = "select * from userlist where 用户名=" '&user&"'and 用户密码"'&pwd&"'and 用户类型="&gnusertype
Dim a As New ADODB.Recordset
a.Open strsql, gconn, adOpenStatic
Static ntrycount As Integer
If r.EOF Then
MsgBox "次用户不存在或密码错误清重新输入!", vbCritical, "输入错误"
txtuser.SetFocus
txtuser.SelStart = 0
txtuser.SelLength = Len(txtuser)
ntrycount = ntrycount + 1
If ntrycount >= 3 Then
MsgBox "输入错误次数过多无权访问本系统!", vbCritical, "错误"
Unload Me
gconn.Close
End If
Else
Unload Me
frmmain.Show
End If
a.Close
Exit Sub
errhandler:
MsgBox Err.Description, vbCritical, "错误!"
End Sub

解决方案 »

  1.   

    strsql = "select * from userlist where 用户名='" & user &"'and 用户密码='"& pwd &"' and 用户类型="& gnusertype & ""
      

  2.   

    主要是在连接的时候下面的部分不知道填写是否正确。
    我的数据库名字是ec,“data source=”后面填写的应该是sql服务器的名字吧?Dim gconn As New ADODB.Connection
    gconn.Open "Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=zlt;Initial Catalog=ec"
      

  3.   

    strsql = "select * from userlist where 用户名=" '&user&"'and 用户密码"'&pwd&"'and 用户类型="&gnusertype 錯了strsql = "select * from userlist where 用户名=" '& user &"'and 用户密码= "'& pwd & "'and 用户类型= "& gnusertype
      

  4.   

    对象名‘userlist’无效是什么意思