2015-01-15 1 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 이미 디버그 폴더로 이동합니다. 그것과 관련된 문제가 될 수 있습니다 ... 유사한 로그인 양식의 종류를 사용하고 있기 때문에 ...

또한 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "참조 추가"를 선택하여 액세스 라이브러리 참조를 추가하십시오 ... "

또한

이 변경 :

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

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

관련 문제