none
Validar Usuario en Base datos

    Pregunta

  • Holas , estoy tratando de poder validar un usuario en una tabla de la base de datos .La consulta la hago  por  medio de un procedimiento el cual me hace return dependiendo si esta oh no .El problema es que siempre me dice que el usuario no existe. aqui dejo el code aver que puedo tener mal.

    Este el code del boton:

     

    Code Snippet

    Dim mi_Data_Reader As SqlDataReader

    Dim mi_comando As SqlCommand

    Dim mi_consulta As String

    Dim resp As Integer = 1

    mi_consulta = "execute VALIDAR_ADM '" & TextBox2.Text & "','" & TextBox1.Text & "'"

    MessageBox.Show(mi_consulta)

    Try

    mi_con = New SqlConnection(cadena_conec)

    mi_comando = New SqlCommand(mi_consulta, mi_con)

    mi_con.Open()

    mi_Data_Reader = mi_comando.ExecuteReader

    If mi_Data_Reader.Read Then

    MessageBox.Show("Bienvenido")

     

    Else

    MessageBox.Show("Error !!!! Administrador No Existente")

     

    End If

    Catch ex As SqlException

    MessageBox.Show(ex.Message)

    Finally

    If Not mi_Data_Reader Is Nothing AndAlso Not mi_Data_Reader.IsClosed Then mi_Data_Reader.Close()

    If Not mi_comando Is Nothing Then mi_comando.Dispose()

    If Not mi_con Is Nothing Then mi_con.Dispose()

     

     

    End Try

     

    Y este es el procedimiento de Almacenado

     

    Code Snippet

    CREATE procedure VALIDAR_ADM

     (@clave_ingreso_adm char(10),@nom_ingreso_adm char(15))
    as

    begin

    if (select count(*) from ADMINISTRADOR where clave_adm=@clave_ingreso_adm AND nombre_adm=@nom_ingreso_adm) > 0

    return 1
    else
    return 0
    end
    GO

     

     Ahora yo probe , nose si esta bien pero probe  ,preguntando si era 1 o 0 por el return , si colocaba = 1 siempre me decia que no existia incluso poniendo los valores correctos , si ponia 0 siempre me decia que existia incluso poniendo valores erroneos .

     

     

    Code Snippet

    If mi_Data_Reader.Read = 1 

     If mi_Data_Reader.Read =0

     

    Que toy haciendo mal?

     

     

     

    lunes, 16 de abril de 2007 20:55

Respuestas

  • Ya lo solucione, me ayudo un profesor en la Universidad.

     

     Modifico y cambio el return por un select y asi podia preguntar que me estaba retornando el dataaReader en visual, ya que con return era mas intangible.

    Aqui el code por si alguien desea .

    Code Snippet

    CREATE procedure VALIDAR_ADM

     (@clave_ingreso_adm char(10),@nom_ingreso_adm char(15))
    as

    begin

    if (select count(*) from ADMINISTRADOR where clave_adm=@clave_ingreso_adm AND nombre_adm=@nom_ingreso_adm) > 0

    select 'ok' retorno
    else
    select 'nok' retorno
    end
    GO

     

    martes, 17 de abril de 2007 5:39