Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/09/2010, 15:10
pipeman2009
 
Fecha de Ingreso: septiembre-2010
Mensajes: 27
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Login en ASP.Net

Cita:
Iniciado por triqui Ver Mensaje
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 original
  1. Dim 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 original
  1. Dim 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 original
  1. Dim leerbd As SqlDataReader = consulta.ExecuteReader()
  2.         If leerbd.Read <> False Then
  3.             aceptado = True
  4.         Else
  5.             aceptado = False
  6.         End If
  7.         If aceptado = True Then
  8.             lblResult.Text = "Entra"
  9.         Else
  10.             lblResult.Text = "no entra"
  11.         End If


Recoges los datos así.

Código ASP:
Ver original
  1. Dim leerbd As SqlDataReader = consulta.ExecuteReader()
  2. Dim validacion As String
  3. while ( myReader.Read ( ) ) {
  4.    validacion = myReader.GetString(1)
  5. }
  6.  
  7. myReader.Close ( );
  8. myConn.Close ( );
  9.  
  10.         If validacion == "Correcto" Then
  11.              lblResult.Text = "Entra"
  12.              //Response.Redirect("~/PaginaUsuario.aspx?User=Usuario")
  13.         Else
  14.             lblResult.Text = "no entra"
  15.         End If

Tu manera está bien, aunque era otra forma.

Muchas gracias
disculpen por ese "en todo caso" me di a entender mal
agradezco su ayuda y siempre estoy visitando este foro en busca de respuestas
y gracias por colaborar