Es tal como dice Malenko, no te puse el código
He mirado un poco tu código y te cuento un cambio que haría, aunque tu manera esta bien
Aqui estas recogiendo datos que no usas, todos los campos de la tabla Usuario.
Código ASP:
Ver originalDim consulta As New SqlCommand("select * from Usuarios WHERE userUsuario ='" & usuario & "' AND userContraseña ='" & contraseña & "' AND userEmpresa ='" & empresa & "'", myConn)
Y yo haría esto
Código ASP:
Ver originalDim consulta As New SqlCommand("IF((select count(*) from Usuarios WHERE userUsuario ='" & usuario & "' AND userContraseña ='" & contraseña & "' AND userEmpresa ='" & empresa & "'") >0) Select 'Correcto' Else Select 'Incorrecto', myConn)
(La select está sin probar)
Porque hago esto?
1.- No me traigo todos los datos (mejor para la bbdd):-p
2.- Si la consulta te arroja algún tipo de advertencia ó error, el objeto leerbd.Read (de esta realmente no estoy seguro, creeria que no.) por si las moscas.
3.- Y Valido a nivel de base de datos la condición.
Y cuando tu pones esto:
Código ASP:
Ver originalDim leerbd As SqlDataReader = consulta.ExecuteReader()
If leerbd.Read <> False Then
aceptado = True
Else
aceptado = False
End If
If aceptado = True Then
lblResult.Text = "Entra"
Else
lblResult.Text = "no entra"
End If
Recoges los datos así.
Código ASP:
Ver originalDim leerbd As SqlDataReader = consulta.ExecuteReader()
Dim validacion As String
while ( myReader.Read ( ) ) {
validacion = myReader.GetString(1)
}
myReader.Close ( );
myConn.Close ( );
If validacion == "Correcto" Then
lblResult.Text = "Entra"
//Response.Redirect("~/PaginaUsuario.aspx?User=Usuario")
Else
lblResult.Text = "no entra"
End If
Tu manera está bien, aunque era otra forma.