Vb.net 我的登录表单显示OLE DB查询不工作
我需要做的vb登录形式使用基于角色的MS访问。mdb文件 但我得到了错误无效的查询请解决Vb.net 我的登录表单显示OLE DB查询不工作,vb.net,ms-access,Vb.net,Ms Access,我需要做的vb登录形式使用基于角色的MS访问。mdb文件 但我得到了错误无效的查询请解决 Public Class login_module 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\gasdb1.mdb Dim loginerror As String Dim ab As Integer Public Function logins() Dim DBConn As
Public Class login_module
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\gasdb1.mdb
Dim loginerror As String
Dim ab As Integer
Public Function logins()
Dim DBConn As New ADODB.Connection
Dim user As New ADODB.Recordset
Dim Usernam As String
Dim UserDB As String
Dim passDB As String
Dim roleDB As String
Dim userfound As Boolean
Try
DBConn.Open("Provider = Microsoft.Jet.OLEDB.4.0;Data Source ='" & "E:\crime\crime.mdb'")
user.Open("user", DBConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
Me.Hide()
End Try
userfound = False
logins = False
Usernam = "username ='" & TextBox1.Text & "'"
Do
Try
user.Find(Usernam)
Catch ex As Exception
MsgBox(ex.Message)
End Try
Debug.Print(user.ToString)
所以,也请解决我得到的错误操作是不允许的对象关闭时。adodb.recordset.如果要使用VB.NET,则应使用它,其中包括使用ADO.NET进行数据访问。
Public Class login_module
Private ConStr As String = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source =E:\crime\crime.mdb"
Private Function Logins(Name As String, PWord As String) As String
Dim RetVal As Object = Nothing
Dim Role As String
Dim sql = "Select Role From Users Where UserName = @Name And Password = @Password;"
Using cmd As New OleDbCommand(sql, New OleDbConnection(ConStr))
cmd.Parameters.Add("@Name", OleDbType.VarWChar).Value = Name
cmd.Parameters.Add("@Password", OleDbType.VarWChar).Value = PWord
cmd.Connection.Open()
RetVal = cmd.ExecuteScalar
End Using
If RetVal Is Nothing Then
Role = "Not Found"
Else
Role = RetVal.ToString
End If
Return Role
End Function
Private Sub btnLogIn_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
Dim Role As String = ""
Try
Role = Logins(txtUserName.Text, txtPassword.Text)
Catch ex As Exception
MessageBox.Show(ex.Message)
Exit Sub
End Try
Select Case Role
Case "Admin"
'Do something
Case "Supervisor"
'Do something
Case "Clerk"
'Do Something
Case Else
MessageBox.Show("No defined Role was returned.")
End Select
End Sub
End Class