想做到输入号码或姓名就能登入,下面的代码是从老师那考的,用老师的数据库能行,我换了个数据库,改了相应的代码("Select * From tbuser where username='" & txtUserName.Text & "' or userkid='" & TextBox1.Text & "'") 就不能用了,总是出现“标准表达式中数据类型不匹配” 急死了 这是怎么个情况啊!???????
strDb = "qiang.mdb" Dim csb As OleDbConnectionStringBuilder = New OleDbConnectionStringBuilder()
csb.Provider = "Microsoft.Jet.OLEDB.4.0"
csb.DataSource = strDb 'strDB 为 Access 数据库的绝对路径
conn = csb.ConnectionString '获取连接字符串 Dim thisConnection As OleDbConnection = New OleDbConnection(conn)
thisConnection.Open() '连接到数据源 Dim strQuery As String = "Select * From tbuser where username='" & txtUserName.Text & "' or userkid='" & TextBox1.Text & "'"
Dim thisCommand As OleDbCommand = New OleDbCommand(strQuery, thisConnection) Dim dr As OleDbDataReader = thisCommand.ExecuteReader() If dr.Read Then
MsgBox("欢迎登入山东轻工业学院的图书馆管理系统!")
Else
MsgBox("身份错误!")
End If
strDb = "qiang.mdb" Dim csb As OleDbConnectionStringBuilder = New OleDbConnectionStringBuilder()
csb.Provider = "Microsoft.Jet.OLEDB.4.0"
csb.DataSource = strDb 'strDB 为 Access 数据库的绝对路径
conn = csb.ConnectionString '获取连接字符串 Dim thisConnection As OleDbConnection = New OleDbConnection(conn)
thisConnection.Open() '连接到数据源 Dim strQuery As String = "Select * From tbuser where username='" & txtUserName.Text & "' or userkid='" & TextBox1.Text & "'"
Dim thisCommand As OleDbCommand = New OleDbCommand(strQuery, thisConnection) Dim dr As OleDbDataReader = thisCommand.ExecuteReader() If dr.Read Then
MsgBox("欢迎登入山东轻工业学院的图书馆管理系统!")
Else
MsgBox("身份错误!")
End If
"Select * From tbuser where username='" & txtUserName.Text & "'"
先看看是不是也出错
Private Sub cmdLogin_Click()
If Trim(txtUsername.Text) = "" Then
MsgBox "【用户名称】不能为空!", 48, "出错提示": txtUsername.SetFocus: Exit Sub
Else
g_strUsername = txtUsername.Text
End If If txtPassword.Text = "" Then
MsgBox "【登录口令】不能为空!", 48, "出错提示": txtPassword.SetFocus: Exit Sub
Else
g_strPassword = txtPassword.Text
End If Call OpenData
Set rst = CreateObject("ADODB.Recordset"): rst.CursorLocation = adUseClient
sql = "SELECT * FROM xt_login WHERE strUsername='" & g_strUsername & "'"
rst.Open sql, cnn, adOpenStatic, adLockReadOnly
intRecordCount = rst.RecordCount
If intRecordCount = 1 Then
Call OpenData
Set rst = CreateObject("ADODB.Recordset"): rst.CursorLocation = adUseClient
sql = "SELECT * FROM xt_login WHERE strUsername='" & g_strUsername & "' AND strPassword='" & g_strPassword & "' AND blnAllowLogin='1'"
rst.Open sql, cnn, adOpenStatic, adLockReadOnly
intRecordCount = rst.RecordCount
If intRecordCount = 1 Then
g_blnPassFlag = True
Else
MsgBox "您的【登录口令】不正确,请重新输入!", 16, "出错提示": txtPassword.SetFocus: txtPassword.Text = "": Exit Sub
End If
Else
MsgBox "您的【用户名称】不存在,请重新选择!", 16, "出错提示": txtUsername.SetFocus: Exit Sub
End If
End Sub