Search the Community
Showing results for tags 'Visual Studio'.
-
Bueno chicos, me tocó finalmente preguntar aquí Resulta que estoy comenzando un proyecto en el ramo Desarrollo en .NET de la carrera (término de 4to semestre) y entre todo el proyecto, debo realizar un login en asp.net visual studio 2010, con datos de una miserable tabla en sql server 2008R2. La cosa es que la conexión a la base de datos, debe ser por biblioteca de clase y esta debe validar los datos para ser retornado a la aplicación en sí. El error que se me presenta, es al validar los datos en la biblioteca de clases, donde al entrar a la sentencia while(reader.Read()) pass = reader["passUser"].ToString(); me arroja un error IndexOutOfRangeException{"passUser"}. Me tinca que es algo super básico pero no he podido encontrar el problema. ayuda. CREATE TABLE usuarios( codUser VARCHAR(20) NOT NULL, //Nombre usuario passUser VARCHAR(20) NOT NULL,//Clave usuario nomUser VARCHAR(100) NOT NULL //Nombre para retornar en Sesión CONSTRAINT FK_USUARIOS PRIMARY KEY(codUser) ); INSERT INTO usuarios VALUES('banreaper','ban123','Banreaper Melchor'); SELECT * FROM usuarios CREATE PROCEDURE sp_val_login(@codUsr VARCHAR(10),@passUsr VARCHAR(10)) AS BEGIN SELECT codUser FROM usuarios WHERE @codUsr = codUser AND @passUsr = passUser; END Biblioteca de clase public class Principal { public void login(string user, string pass, Label mensaje) { string datos = ConfigurationManager.AppSettings["conexion"]; string sql = ConfigurationManager.AppSettings["login"];//Procedimiento almacenado sql = sql + " '" + user + "','" + pass + "'"; SqlDataReader reader; SqlConnection conexion = new SqlConnection(datos); SqlCommand comando = new SqlCommand(sql, conexion); try { conexion.Open(); reader = comando.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { user = reader["codUser"].ToString(); pass = reader["passUser"].ToString(); } } } catch (Exception e) { mensaje.Text = "Error en conexion a BD. " + e; } finally { conexion.Close(); } } } login.aspx public partial class login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnLogin_Click(object sender, EventArgs e) { loginMensaje.Text = ""; BCLogAcc.Principal validaDatos = new BCLogAcc.Principal(); validaDatos.login(txtUser.Text, txtPass.Text, loginMensaje); //Server.Transfer("index.aspx"); validar si es correcto y enviar al index } }