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