Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/02/2015, 10:40
ceysmar
 
Fecha de Ingreso: febrero-2015
Ubicación: venezuela
Mensajes: 50
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Inicio de sesión con access y privilegios

Buenas tarde ya solucione parte de mi problema lo que buscaba era que al momento de logiarme guardara una variable y me la enviara al formulario padre MDI ya lo conseguí de la siguiente manera una vez hecha la consulta de verificación de usuario si existe me hace nuevamente una consulta para obtener el id del usuario y me lo almacene en una variable para ser recibido por el formulario MDI

El código anterior era este:

Código:
 private void iniciar_Click(object sender, EventArgs e){

            OleDbConnection conexion = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\\DataBase.mdb;Jet OLEDB:Database Password=20732327");
            conexion.Open();
            string candena = "SELECT * FROM usuario WHERE usuario='" + user.Text + "' AND clave='" + clave.Text + "';";
            OleDbCommand consulta = new OleDbCommand(candena, conexion);
            OleDbDataReader resull;
            resull = consulta.ExecuteReader();
            Boolean ressul_verifica = resull.HasRows;
            if(ressul_verifica){
                MDIConsola frm = new MDIConsola();
                frm.Show();
                this.Hide();
            }
            else
            {
                MessageBox.Show("Usuario no registrado o contraseña incorrecta: " + user.Text, "Control universitario", MessageBoxButtons.OK, MessageBoxIcon.Error);
              
            }
            conexion.Close();
     
        }
Con la modificaciones que he hecho me quedaría el nuevo código así:
Código:
private void iniciar_Click(object sender, EventArgs e){

          
            OleDbConnection conexion = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\\DataBase.mdb;Jet OLEDB:Database Password=20732327");
            conexion.Open();
            string candena = "SELECT * FROM usuario WHERE usuario='" + user.Text + "' AND clave='" + clave.Text + "';";
            OleDbCommand consulta = new OleDbCommand(candena, conexion);
            OleDbDataReader resull;
            resull = consulta.ExecuteReader();
            Boolean ressul_verifica = resull.HasRows;
            if(ressul_verifica){

              
                DataTable dt = new DataTable();
                string nivel = "SELECT id FROM usuario WHERE usuario='" + user.Text + "' AND clave='" + clave.Text + "';";
                OleDbCommand consulta_nivel = new OleDbCommand(nivel, conexion);
                OleDbDataAdapter ressull = new OleDbDataAdapter(consulta_nivel);
                ressull.Fill(dt);
                DataRow row = dt.Rows[0];
                id_user = Convert.ToInt32(row["id"]);         
                MDIConsola frm = new MDIConsola(id_user);
                frm.Show();
                this.Hide();
            }
            else
            {
                MessageBox.Show("Usuario no registrado o contraseña incorrecta: " + user.Text, "Control universitario", MessageBoxButtons.OK, MessageBoxIcon.Error);
              
            }
            conexion.Close();
     
        }
Ahora como soy nuevo en este mundo que me recomiendan ud ese código es óptimo no proporcionaría problemas o hay una mejor forma de hacerlo como no conseguí ayuda pues lo realice así echando cabeza y viendo por internet como almacenar variables ya teniendo el id del usuario en el formulario MDI puedo consultar el nivel de usuario y deshabilitar botones o me daría algún error a la larga…??

muchas gracias de ante mano