Bom dia. Mais uma vez estou com uma dúvida referente a um código e conto com a ajuda de vocês, estou desenvolvendo uma aplicação que utiliza banco de dados firebird, o problema é o seguinte, toda vez que realizo uma consulta se não existir dados na tabela ocorre um erro. por exemplo, o código abaixo deveria exibir uma mensagem informando que o usuário ou senha estão errados caso não seja encontrado o registro informado pelo usuário, porém ao invés disso ele mostra o seguinte erro: "There are no data to read." e após isso a aplicação trava. O que pode estar acontecendo? É possível resolver esse problema? agradeço pela ajuda.
Private Sub LogarSistema() Dim dr As FbDataReader = Nothing Using con As FbConnection = getConnection() Try con.Open() Dim sql As String = "SELECT * FROM USUARIO WHERE LOGIN ='" & txtLogin.Text & "' and SENHA ='" & txtSenha.Text & "'" Dim cmd As FbCommand = New FbCommand(sql, con)
dr = cmd.ExecuteReader(CommandBehavior.SingleRow)
If dr.HasRows Then dr.Read()
strUsuario = dr.Item("LOGIN") strPerfil = dr.Item("PERFIL") Else MsgBox("Usuário ou Senha inválidos, verifique.", MsgBoxStyle.Information, "Erro no login") End If Catch ex As Exception MsgBox(ex.Message) Finally con.Close() End Try End Using End Sub
Pergunta
TobiasFranca
Bom dia. Mais uma vez estou com uma dúvida referente a um código e conto com a ajuda de vocês, estou desenvolvendo uma aplicação que utiliza banco de dados firebird, o problema é o seguinte, toda vez que realizo uma consulta se não existir dados na tabela ocorre um erro. por exemplo, o código abaixo deveria exibir uma mensagem informando que o usuário ou senha estão errados caso não seja encontrado o registro informado pelo usuário, porém ao invés disso ele mostra o seguinte erro: "There are no data to read." e após isso a aplicação trava. O que pode estar acontecendo? É possível resolver esse problema? agradeço pela ajuda.
Private Sub LogarSistema()
Dim dr As FbDataReader = Nothing
Using con As FbConnection = getConnection()
Try
con.Open()
Dim sql As String = "SELECT * FROM USUARIO WHERE LOGIN ='" & txtLogin.Text & "' and SENHA ='" & txtSenha.Text & "'"
Dim cmd As FbCommand = New FbCommand(sql, con)
dr = cmd.ExecuteReader(CommandBehavior.SingleRow)
If dr.HasRows Then
dr.Read()
strUsuario = dr.Item("LOGIN")
strPerfil = dr.Item("PERFIL")
Else
MsgBox("Usuário ou Senha inválidos, verifique.", MsgBoxStyle.Information, "Erro no login")
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
End Using
End Sub
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.