Hola tengo un problema con un Login y una base de datos access, es muy sencillo, dado que estoy dando los primeros pasos en programación.El problema es el siguiente, si agrego un registro desde la base de datos lo agrega perfectamente y puedo iniciar sesión normalmente, pero si agrego un registro desde el formulario de registro, me muestra el correspondiente mensaje de usuario creado pero al iniciar sesión es como si el usuario no se hubiese agregado.Me gustaría saber si el error es al guardar el registro o al buscarlo para iniciar sesión. Gracias.
private void btnCrear_Usuario_Click(object sender, EventArgs e) //éste es el código del button que agrega el usuario ala BD { if (string.IsNullOrWhiteSpace(txtUsuario.Text) && (string.IsNullOrWhiteSpace(txtContraseña.Text))) { MessageBox.Show("Debe completar los campos", "Formulario vacío", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { //conexion OleDbConnection conexion = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Juanchis10\\Documents\\BBDDprestamos\\Presta\\Presta\\UsuarioContraseña.accdb"); conexion.Open(); //cadena SQL... string cadenaSQL = "INSERT INTO UyC VALUES ( @contraseña, @cuenta_usuario)"; OleDbCommand comando = new OleDbCommand(cadenaSQL, conexion); //comando comando.Parameters.AddWithValue("@contraseña", txtContraseña.Text); comando.Parameters.AddWithValue("@cuenta_usuario", txtUsuario.Text); //ejecutar la consulta de accion... comando.ExecuteNonQuery(); MessageBox.Show("Bienvenido " + txtUsuario.Text, "Usuario guardado con éxito", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtUsuario.Clear(); txtContraseña.Clear(); } catch (DBConcurrencyException ex) { MessageBox.Show("Error de concurrencia:\n" + ex.Message); txtUsuario.Clear(); txtContraseña.Clear(); } catch (Exception ex) { MessageBox.Show(ex.Message); txtUsuario.Clear(); txtContraseña.Clear(); } } //el siguiente es el código del button que permite ingresar al sistema conociendo el usuario y contraseña... private void btnEntrar_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(txtUsuario.Text) && (string.IsNullOrWhiteSpace(txtContraseña.Text))) { MessageBox.Show("Debe completar los campos", "Formulario vacío", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //crear la conexion... OleDbConnection conexion = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Juanchis10\\Documents\\BBDDprestamos\\UsuarioContraseña.accdb"); //conectar con la base de datos... conexion.Open(); //crear la consulta... String consulta = "select contraseña, cuenta_usuario from UyC where contraseña ='" + txtContraseña.Text + "' and cuenta_usuario ='" + txtUsuario.Text + "';"; //crear objeto comando... OleDbCommand comando = new OleDbCommand(consulta, conexion); //crear variable tipo reader... OleDbDataReader lector; //ejecutar la consulta... lector = comando.ExecuteReader(); //validar si el lector tiene registros... Boolean existencia_registros = lector.HasRows; //validamos la entrada del usuario al sistema... if (existencia_registros) { MessageBox.Show("Bienvenido " + txtUsuario.Text, "Usuario autorizado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); Frm_Principal f = new Frm_Principal(); f.Show(); Hide(); } else { MessageBox.Show("Usuario o contraseña incorrectos", "Datos incorrectos", MessageBoxButtons.OK, MessageBoxIcon.Error); limpiar_formulario(); txtUsuario.Focus(); //abandomamos el evento... return; } //cerramos la conexion... conexion.Close(); }