Arnav Varshney Ответов: 0

Которого вызывается invalidcastexception не обработано в VB.NET с МС доступ


Я создаю форму входа в систему с базой данных в Microsoft Access.
база данных: База Данных Фото
Я использую Visual Studio 2015 Community Edition.
Для этого я создал 2 запроса:
1) LoginQuery - >
SELECT        Username, [Password]
FROM            Login
WHERE        (Username = ?) AND ([Password] = ?)

2) EmployeeNameQuery ->
SELECT        EmployeeName, Username
FROM            Login
WHERE        (Username = ?)


При выполнении кода, если я правильно ввожу имя пользователя и пароль, я получаю следующую ошибку:
InvalidCastException was unhandled
An unhandled exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll
Additional information: Conversion from string "admin" to type 'Boolean' is not valid.

ошибка: Ошибка Фото

В противном случае, для неправильных входов, он работает и показывает " неверный логин!"

Что я уже пробовал:

мой код:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim username As String = UsernameTextBox.Text
    Dim password As String = PasswordTextBox.Text
    If LoginTableAdapter.LoginQuery(username, password) Then
        Dim EmployeeName As String = LoginTableAdapter.EmployeeNameQuery(username)
        MsgBox("Login Successful!" & EmployeeName)
    Else
        MsgBox("Invalid Login!")
    End If
End Sub


- пожалуйста, объясните это подробно, потому что я сталкиваюсь с этим уже довольно давно!

NotPolitcallyCorrect

Что подробно объяснить? Сообщение об ошибке достаточно ясно. Где-то вы пытаетесь использовать строку "admin", как если бы это было логическое значение.

Arnav Varshney

Но что я должен исправить, чтобы заставить его работать @NotPoliticallyCorrect. Вот что я имел в виду, говоря "Пожалуйста, объясните подробно".

NotPolitcallyCorrect

Все очень просто. Отладьте свой код и найдите место, где вы используете строку, где код ожидает логическое значение. Затем восстановить ее. Трассировка стека, скорее всего, точно скажет вам, где происходит ошибка.

0 Ответов