2015-01-15 51 views
0

我的当前登录代码有一个主要问题,每次输入用户名和密码时,它都会保存到一个Microsoft Access数据库中初始化字符串的格式不符合OLE DB规范:登录表单有困难有人可以看到代码,看看错误是什么

“System.Runtime.InteropServices.COMException”类型的未处理的异常错误在运行Club.exe

其他信息发生。

公共类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

乍一看这刺穿了我的眼睛。这是一个迟到的答复,但应该为有类似问题的人提供指导。

"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已带你进入你的debug文件夹中。这可能是一个相关的问题...因为我使用了一种类似的登录表单...

另外,请确保通过右键单击项目添加Access库引用,然后选择“添加引用......”

另外,更改此:

    user.Close() 
       DBconn.Close() 
       Return True 

User.Close() DBConn.Close() Return False

相关问题