2015-01-15 30 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

相關問題