none
Preguntar si DataTable está vacio. RRS feed

  • Pregunta

  • Hola muchachos realize este metodo que me devuelve un DataTable, quiero dentro de un formulario hacer un if con la condicion de si esta vacio o no.

    public static DataTable ExisteTipoDoc()
            {
                try
                {
                    MySQLDAL.CnxDB();
                    DataTable dt = new DataTable();
    
                    string query = "SELECT * FROM tipoDocumento";
    
                    MySqlCommand cmd = new MySqlCommand(query, MySQLDAL.sqlcnx);
                    MySqlDataAdapter da = new MySqlDataAdapter(cmd);
                    da.Fill(dt);
                    
                    MySQLDAL.DcnxDB();
                    return dt;
                }

    PD: MySQLDAL es una clase que tiene los datos de la conección con la DB.

    El if lo estoy realizando algo así pero me da error, cual sería la manera correcta de realizarlo?

     if TipoDocB.ExisteTipoDoc == null
                {
                }
                else
                {
                }
    


    martes, 12 de mayo de 2015 23:02

Respuestas

  • hola

    tiene que preguntas si tiene rows

    DataTable dt = TipoDocB.ExisteTipoDoc();
    
    if(dt.Rows.Count == 0){
    
    } 


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 12 de mayo de 2015 23:09
  • Hola b0nete para evaluar si un datatable esta vació debieras preguntarle cuantas filas tienes, si la cantidad de filas es <= a 0 entonces no tiene nada, caso contrario contiene datos/filas (Estoy asumiendo de que TipoDocB.ExisteTipoDoc retorna un datatable):

    DataTable tbl = new DataTable();
    tbl= TipoDocB.ExisteTipoDoc();
    
    if(tbl.Rows.Count <= 0)
    {
    MessageBox.Show("La tabla no contiene filas, esta vacia");
    return;
    }
    Espero haberte ayudado.



    martes, 12 de mayo de 2015 23:12

Todas las respuestas

  • hola

    tiene que preguntas si tiene rows

    DataTable dt = TipoDocB.ExisteTipoDoc();
    
    if(dt.Rows.Count == 0){
    
    } 


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 12 de mayo de 2015 23:09
  • Hola b0nete para evaluar si un datatable esta vació debieras preguntarle cuantas filas tienes, si la cantidad de filas es <= a 0 entonces no tiene nada, caso contrario contiene datos/filas (Estoy asumiendo de que TipoDocB.ExisteTipoDoc retorna un datatable):

    DataTable tbl = new DataTable();
    tbl= TipoDocB.ExisteTipoDoc();
    
    if(tbl.Rows.Count <= 0)
    {
    MessageBox.Show("La tabla no contiene filas, esta vacia");
    return;
    }
    Espero haberte ayudado.



    martes, 12 de mayo de 2015 23:12
  • Exelente muchachos como siempre, muchas gracias por sacarme la duda.
    miércoles, 13 de mayo de 2015 14:28
  • Hola b0nete:

     Lo menos que puedes hacer es cerra la pregunta marcando la respuesta que te ayudo a salir del problema.


    Saludos desde Monterrey, Nuevo León, México!!!

    miércoles, 13 de mayo de 2015 15:06
  • Hola, Tambien te puede servir algo como esto:

           public static bool ExisteTipoDoc()
            {
    
               
                    MySQLDAL.CnxDB();
                    //DataTable dt = new DataTable();
                    bool ans = false;
                    string query = "SELECT COUNT(*) FROM tipoDocumento";
    
                    MySqlCommand cmd = new MySqlCommand(query, MySQLDAL.sqlcnx);
                    
                    //MySqlDataAdapter da = new MySqlDataAdapter(cmd);
                    //da.Fill(dt);
                    
    
                    ans = ((long)cmd.ExecuteScalar())>0;
                    
                    MySQLDAL.DcnxDB();
                    return ans;
                
            }

    Es la misma funcion, solo que ahora devuelve un boolean.

    Saludos.

    miércoles, 13 de mayo de 2015 15:29