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:
CodeBehindpublic 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); } }
Código:
SPprotected 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"; } } }
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

Desde ya muchas gracias