Может ли кто-нибудь помочь мне, у меня проблемы со входом в систему. Когда я пытаюсь войти в систему, я получаю сообщение об ошибке «Многоэтапная операция OLE DB сгенерировала ошибки. Проверьте каждое значение состояния OLE DB, если оно доступно. Никакая работа не была выполнена». - В сочетании с поиском ExecuteScalar.
Заранее благодарю вас за любую помощь, которую вы можете или не можете мне оказать.
Protected Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
If String.IsNullOrWhiteSpace(txtUsername.Text) Then
Invalid()
Exit Sub
End If
Using con As New OleDbConnection(connectionString)
Dim cmd As New OleDbCommand("Select count(*) From tblAccounts where Username = ?", con)
cmd.Parameters.AddWithValue("Username", txtUsername)
con.Open()
If CType(cmd.ExecuteScalar(), Integer) > 0 Then
cmd.CommandText = "Select CPassword From tblAccounts Where Username = ?"
Dim matches As String = CType(cmd.ExecuteScalar(), String)
If matches = Sha1(txtPassword.Text) Then
Response.Redirect("main.aspx")
Else
Invalid()
End If
Else
Invalid()
End If
End Using
End Sub
connectionString
содержимое, чтобы кто-то мог вам помочь. PS: вы выполняетеcmd.ExecuteScalar()
дважды: лучше вынесите строкуDim matches As String = CType(cmd.ExecuteScalar(), String)
за пределы условия и напишитеmatches > 0
внутри оператора условия. - person varocarbas   schedule 21.10.2013cmd.Parameters.AddWithValue("@Username", txtUsername)
. Посмотрите, поможет ли это. - person Steve   schedule 21.10.2013