VALIDACAO DO LOGIN

 Tópico anterior Próximo tópico Novo tópico

VALIDACAO DO LOGIN

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#166750 - 23/08/2006 11:17:50

USUARIO.EXCLUIDOS

Cadast. em:


Oi pessoal,

Preciso da vossa ajuda.

Estou a fazer um programa em VB2005 com ligação a uma Database que está feita em SqlServer2005.



No Form faço esta ligação

  
conexao = New SqlConnection("Data Source=  (Local) ;Database= Empresa;Trusted_Connection=True;")




Depois tenho uma Table X onde guardo o Username e Password. Têm pelo meno 3 Users e Passwords diferentes



Quando o programa arranca temos que meter numa TextBox o User e noutra TextBox a Password.

A minha dúvida é como faço para o programa ir ler à  Table X os campos e validar a informação que pomos nessas TextBoxes.

Se o programa encontrar algum User que seja igual aquele que pomos nas TextBoxes, ele entra para aplicação, senão dá uma Messagem de Erro...



Algume me pode ajudar???




#166753 - 23/08/2006 11:23:57

RAMSES
CAPITAL FEDERAL
Cadast. em:Março/2004


nessa conexao tu esta se conectando ao banco.
para saber se o usuario se pode loguear na aplicacao pode fazer assim
select * from [user] where [user] = 'textbox usuario' and [password] = 'textbox da senha'




#166773 - 23/08/2006 12:31:45

USUARIO.EXCLUIDOS

Cadast. em:


Depois de fazer isso tenho que criar um SqlDataReader, não é??

Então fiz assim:


Dim LerDados as SqlDataReder
cmd_entra.CommandText = ("Select * From LoginEntrada Where Username=" & Me.TextBox1.Text & ";And PassWord=" & Me.TextBox2.Text & ";")
                    LerDados = cmd_entra.ExecuteReader
                    If LerDados.Read = 1 Then
                        MessageBox.Show("Entrou")
                    Else
                        MessageBox.Show("NÓ¡O Entrou")
                    End If



Mas o DataReader não está a ler, eu acho que é nesta linha
  
If LerDados.Read = 1 Then


Em Vb2005 qual é o sinal de comparação??

Por exemplo em C++ eu tinha feito

If LerDados.Read == 1 Then


Mas em Vb2005 dá erro




#166776 - 23/08/2006 12:35:46

RAMSES
CAPITAL FEDERAL
Cadast. em:Março/2004


ta errado o commandtext o certo eh
cmd_entra.CommandText = ("Select * From LoginEntrada Where Username=" & Me.TextBox1.Text & " And PassWord=" & Me.TextBox2.Text)

sem o ;
comparacao no vb eh =




#166778 - 23/08/2006 12:41:15

USUARIO.EXCLUIDOS

Cadast. em:



Fiz como vc disse mas depois de ler a query ele não vai para a condição

  

If LerDados.Read = 1 Then
MessageBox.Show("Entrou")
Else
MessageBox.Show("NÓ¡O Entrou")
End If



Não faz nada....
Não percebo




Resposta escolhida #166779 - 23/08/2006 12:44:42

RAMSES
CAPITAL FEDERAL
Cadast. em:Março/2004


pq o read le o datareader.
para verse tem linha usa o HasRows,onde retorna True se tem linha e false senao tem linha




#166782 - 23/08/2006 13:06:14

MORDOR
SP
Cadast. em:Outubro/2004


O método Read retorna um valor True/False. Para verificar valores Boolean no VB faça assim:

If reader.Read() = True Then
End If

If reader.Read() = False Then
End If

If reader.Read() Then
End If

If Not reader.Read() Then
End If


Outra coisa, procure trabalhar com parà¢metros nas consultas ao invés de ficar concatenando valores da string SQL, pois o tratamento é feito automaticamente.

Dim username As String = "Admin"
Dim password As String = "pass"
Dim query As String    = "SELECT user_id FROM users WHERE user_login = @Login AND user_password = @Password"
Dim command As New SqlCommand(query)

command.Parameters.AddWithValue("@Login", username)
command.Parameters.AddWithValue("@Password", password)




#166783 - 23/08/2006 13:11:15

USUARIO.EXCLUIDOS

Cadast. em:


Já resolvi, o erro estava na Query:

A query correcta é:


  
("Select * From LoginEntrada Where Username= '" & Me.TextBox1.Text & "';And PassWord='" & Me.TextBox2.Text & "';")







 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por WEBMASTER em 18/08/2009 10:03:45