VALIDACAO DO LOGIN
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
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???
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???
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'
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'
Depois de fazer isso tenho que criar um SqlDataReader, não é??
Então fiz assim:
Mas o DataReader não está a ler, eu acho que é nesta linha
Em Vb2005 qual é o sinal de comparação??
Por exemplo em C++ eu tinha feito
Mas em Vb2005 dá erro
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
ta errado o commandtext o certo eh
sem o ;
comparacao no vb eh =
cmd_entra.CommandText = ("Select * From LoginEntrada Where Username=" & Me.TextBox1.Text & " And PassWord=" & Me.TextBox2.Text)
sem o ;
comparacao no vb eh =
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 [S61]
pq o read le o datareader.
para verse tem linha usa o HasRows,onde retorna True se tem linha e false senao tem linha
para verse tem linha usa o HasRows,onde retorna True se tem linha e false senao tem linha
O método Read retorna um valor True/False. Para verificar valores Boolean no VB faça assim:
Outra coisa, procure trabalhar com parà ¢metros nas consultas ao invés de ficar concatenando valores da string SQL, pois o tratamento é feito automaticamente.
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)
Já resolvi, o erro estava na Query:
A query correcta é:
A query correcta é:
("Select * From LoginEntrada Where Username= '" & Me.TextBox1.Text & "';And PassWord='" & Me.TextBox2.Text & "';")
Tópico encerrado , respostas não são mais permitidas