我每次输入用户名和密码时都会遇到当前登录代码的主要问题,该用户名和密码会保存到微软访问数据库中,但是出现错误
未处理的类型' System.Runtime.InteropServices.COMException'发生在Running Club.exe中
附加信息:初始化字符串的格式不符合OLE DB规范。
Public Class Login_Form
Dim loginerror As String
Public Function Login()
Dim DBconn As New ADODB.Connection
Dim user As New ADODB.Recordset
Dim Username As String
Dim userDB As String
Dim passDb As String
Dim userfound As Boolean
DBconn.Open("Provider= microsoft.jet.OLEDB.4.0;" & _
"Data Source ='" & Application.StartupPath & _
"C:\Users\Wing's\Documents\Visual Studio 2013\Projects\Running Club 2\Running Club 2\bin\Debug\Running Club.mdb'")
user.Open("Member Table", DBconn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
userfound = False
Login = False
Username = "username='" & TxtUser.Text & "'"
Do
user.Find(Username)
If user.BOF = False And user.EOF = False Then
userDB = user.Fields("username").Value.ToString
passDb = user.Fields("password").Value.ToString
If userDB <> TxtUser.Text Then
user.MoveNext()
Else
userfound = True
If passDb = TxtPass.Text Then
Me.Hide()
Running_Club_Interface.Show()
user.Close()
DBconn.Close()
Return True
Else
loginerror = "Invalid Password"
user.Close()
DBconn.Close()
Return False
End If
End If
Else : loginerror = "Your Username or Password is incorrect please check username or password again."
user.Close()
DBconn.Close()
Return False
End If
Loop Until userfound = True
user.Close()
DBconn.Close()
Return True
End Function
Private Sub BtnIn_Click(sender As Object, e As EventArgs) Handles BtnIn.Click
If Login() = True Then
Me.Hide()
Running_Club_Interface.Show()
MessageBox.Show("You have successfully logged in.")
Else
MessageBox.Show(loginerror, "login Message")
End If
End Sub
结束班
这是代码你可以说的任何事情,因为它真的很烦我,我不会100%理解去哪里以及如何解决这个错误。
答案 0 :(得分:0)
"Data Source ='" & `Application.StartupPath` & _
"C:\Users\Wing's\Documents\Visual Studio 2013\Projects\Running Club 2\Running Club 2\bin\Debug\Running Club.mdb'")
尝试:
"Data Source ='" & Application.StartupPath & "\Running Club.mdb'")
Application.StartupPath
已将您带入调试文件夹。这可能是一个与此相关的问题......因为我使用了类似的登录表单...
此外,请确保通过右键单击项目添加Access库引用,然后选择&#34;添加引用...&#34;
另外,改变这个:
user.Close()
DBconn.Close()
Return True
到
User.Close()
DBConn.Close()
Return False