Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Data Source=SERVER"
Adodc1.UserName = "sa"
Adodc1.Password = ""
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "SELECT * FROM TABLE1 WHERE USERNAME = '" & txtUserName.Text & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
   MsgBox "用户存在"
   Adodc1.RecordSource = "SELECT COUNT(*) AS COUNTS FROM TABLE1 WHERE USERNAME+PASSWORD = '" & txtUserName.Text & txtPassword.Text & "'"
   Adodc1.Refresh  <-每次到这里就出错说“对数据类形而言运算无效,运算符为ADD,类形为navrchar”
   If Adodc1.Recordset!COUNTS = 1 Then
      MsgBox "通过身份验证"
   Else
      MsgBox "没有通过身份验证"
   End If
End If应当怎么写啊?

解决方案 »

  1.   

    应该是USERNAME+PASSWORD这吧.在SQL里应该不会象VB里那样,可以STRING1 + STRING2你试试用&符号呢?
      

  2.   

    Adodc1.RecordSource = "SELECT COUNT(*) AS COUNTS FROM TABLE1 WHERE USERNAME = '" & txtUserName.Text & "' PASSWORD = '" & txtPassword.Text & "'"
      

  3.   

    前面发错了
    Adodc1.RecordSource = "SELECT COUNT(*) AS COUNTS FROM TABLE1 WHERE USERNAME = '" & txtUserName.Text & "' AND PASSWORD = '" & txtPassword.Text & "'"