Foros del Web » Programando para Internet » ASPX (.net) »

Login

Estas en el tema de Login en el foro de ASPX (.net) en Foros del Web. Hola Soy nueva en esto de la programación, y necesitaría si alguien puede darme una mano. Necesito hacer un sistema de Login, para Clientes y ...
  #1 (permalink)  
Antiguo 11/02/2009, 14:33
 
Fecha de Ingreso: febrero-2009
Mensajes: 3
Antigüedad: 15 años, 2 meses
Puntos: 0
Login

Hola
Soy nueva en esto de la programación, y necesitaría si alguien puede darme una mano.
Necesito hacer un sistema de Login, para Clientes y Administradores usando Sql 2005.
Lo que tengo echo hasta ahora es lo siguiente:

CapaDatos

Código:
namespace Datos
{
    public class DatosLogin
    {
        public static bool LoginAdministrador(int oCedula, string oPassword)
        {
           
      // Conectar a la base de datos
     SqlConnection oConexion = new SqlConnection(Conexion.stringdeconexion);

    try
   {   
   oConexion.Open();
    System.Text.StringBuilder sel = new System.Text.StringBuilder();
   sel.Append("exec LogeoAdministrador" + "'" + oCedula + "', '" +oPassword + "'");
    SqlCommand cmd = new SqlCommand(sel.ToString(), oConexion);
      // Crea los parámetros
      cmd.Parameters.Add("&cedula", SqlDbType.Int);
      cmd.Parameters.Add("&password", SqlDbType.VarChar, 20);
      // Asignamos los valores recibidos como parámetro
      cmd.Parameters["&cedula"].Value = oCedula;
      cmd.Parameters["&password"].Value = oPassword;
         //devuelve la primera columna de la primera fila
       // por tanto, devolverá el número de coincidencias halladas,
      // que si es 1, quiere decir que la cedula y el password son correctos.
          int t = Convert.ToInt32(cmd.ExecuteScalar());
         // Cerramos la conexión
          oConexion.Close();
       // Si el valor devuelto es cero
        // es que no es correcto.
            if (t == 0)
                {
                    return false;
                }

            }
            catch (Exception ex)
            {
                return false;
            }
            finally
            {
                if (oConexion != null)
                {
                    oConexion.Dispose();
                }
            }
            //
            // Si llego aquí es que todo ha ido bien

            return true;
        }
        //LO MISMO PARA LOGINCLIENTE
    }

CapaLogica


Código:
 public static bool LoginCliente ( int oCedula, string oPassword)
        {

            {
                return DatosLogin.LoginCliente( oCedula, oPassword);
            }
           

        }
        public static bool LoginAdministrador(int oCedula, string oPassword)
        {

            {
                return DatosLogin.LoginAdministrador(oCedula, oPassword);
            }


        }
CodeBehind


Código:
protected void btnLogeo_Click(object sender, EventArgs e)
    {
        int a = Convert.ToInt32(Session["autorizacion"]);
        int oCedula = 0;
        string oMensaje = "";
        
        string oPassword = txtPassword.Text;

        try
        {
            oCedula = Convert.ToInt32(txtCi.Text);
        }
        catch
        {
            oMensaje = "La cedula no Nº";
        }
 
           if (LogicaUsuarios.LoginAdministrador(oCedula, oPassword))
        {
            Session.Add("administrador", 1);
            Response.Redirect("Default.aspx");
        }
        else if (LogicaUsuarios.LoginCliente(oCedula,oPassword))

        {
            
            Session.Add("cliente", 2);
            Response.Redirect("Default2.aspx");
        }
        else
        {
           
            {
                
                lblLogeo.Text = "Datos Incorrectos";
                
            }
           
        }
    }
SP

Código:
create proc LogeoAdministrador &cedula int, &password varchar (20) as
begin
select count(*) from Administrador  where cedula=&cedula and password = &password;
end 
go

create proc LogeoCliente &cedula int, &password varchar (20) as
begin
select count(*) from Clientes  where cedula=&cedula and password = &password;
end 
go

Bueno, el tema es que no tengo ningún error de ejecucion, pero cuando intento logearme tanto como un Cliente o Administrador ya ingresado en la B.D. me tira "Datos Incorrectos".
Si pudieran decirme donde es que tengo la falla les estaria agradecida ya que no puedo darme cuenta, y me tiene bastante loca el tema.
Desde ya muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:24.