none
Dudas sobre Consultas de ACCESS en c#

    General discussion

  • Hola amigos que tal, estoy trabajando en un programa que contiene una base de datos access 2010. Tengo dos Tablas una es Profesor y otra es Tecnico.

    Profesor contiene : ID, NOMBRE, APELLIDOS, CONTRASEÑA, CORREO, HORARIO.
    Técnico contiene : ID, NOMBRE, APELLIDOS, CONTRASEÑA, CORREO.

    Deseo realizar la siguiente consulta :

    "SELECT * FROM PROFESOR WHERE NOMBRE = @nombre AND CONTRASEÑA = @contraseña";

    Si la consulta es correcta cargo los datos en un datagridview.

    La verdad el codigo funciona, mi gran duda es como saber si los datos ingresados no corresponden y enviar un mensaje al usuario, porque al no encontrar coincidencia entre nombre y contraseña, no muestra datos obviamente pero el datagridview sigue en blanco y eso es lo que no quiero. enviar un mensaje de "usuario y contraseña ingresadas no son correctas" o algo así :)

    Dejo código : 

    OleDbConnection con = new OleDbConnection();
    con.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data
    Source=C:\Users\Nicolas\Desktop\Registro.mdb";
                    string cadenaSQL = "SELECT * FROM PROFESOR WHERE NOMBRE = @nombre AND CONTRASEÑA = @contraseña";
                    OleDbCommand comando = new OleDbCommand(cadenaSQL, con);
                    string cadena = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Nicolas\Desktop\Registro.mdb";
                    con.ConnectionString = cadena;
                    OleDbDataAdapter adaptador = new OleDbDataAdapter(cadenaSQL, con);
                    adaptador.SelectCommand.Parameters.Add(new OleDbParameter("@nombre", OleDbType.VarChar, 255));
                    adaptador.SelectCommand.Parameters["@nombre"].Value = textBox1.Text;
                    adaptador.SelectCommand.Parameters.Add(new OleDbParameter("@contraseña", OleDbType.VarChar, 255));
                    adaptador.SelectCommand.Parameters["@contraseña"].Value = textBox2.Text;
                    DataSet dataSet = new DataSet();
                    DataTable dataTable = new DataTable();
                    dataTable.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    adaptador.Fill(dataTable);
                    bindingSource1.DataSource = dataTable;
                    dataGridView1.DataSource = bindingSource1;
    Sunday, June 16, 2013 5:52 PM

All replies

  • Tienes que preguntar si dataTable.Rows.Count  ==  0 para hacer un MessagBox.Show()

    if (dataTable.Rows != null && dataTable.Rows.Count > 0)
    {
       //cargar datagrid
    }
    else
    {
     MessageBox.Show("No hay datos");
    }
    


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos




    Sunday, June 16, 2013 6:17 PM
  • Amigo muchisimas gracias por tu rápida y útil respuesta, no lo había pensando, soy nuevo en el mundo de conectar las base de datos. Disculpa si soy abusivo pero tengo una duda :

    Todo este código lo hago en un formulario, como puedo hacer que en el momento de que el usuario presione click en el botón Ingresar (luego de evaluar si existen datos) abra otro form donde cargue los datos del usuario ingresado? y mi otra consulta es que es la siguiente :

    Para evaluar que la direccion de correo electronico es correcta he buscado codigos de ayuda en Internet y la verdad no los entiendo mucho, si pudieras ayudarme o al menos guiarme te lo agradeceria.

    Muchas gracias por tu ayuda!
    Sunday, June 16, 2013 7:15 PM
  • Para evaluar el valor de un textbox que introduces una dirección de email

    System.Text.RegularExpressions.
    
    Regex.IsMatch(@ "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$" , myString);
    
    //si te devuelve true es que  es email


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    Sunday, June 16, 2013 8:14 PM
  • Amigo muchas gracias de verdad!!
    Sunday, June 16, 2013 9:08 PM