在登录表单时遇到困难,有人可以看到代码并查看错误是什么

时间:2015-01-15 18:07:00

标签: vb.net-2010

我每次输入用户名和密码时都会遇到当前登录代码的主要问题,该用户名和密码会保存到微软访问数据库中,但是出现错误

未处理的类型' 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%理解去哪里以及如何解决这个错误。

1 个答案:

答案 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