es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo realizar una consulta en una datatable en C#

Tengo una tabla de datos con varias columnas. Dos de ellas son JobNum y ProcessNum. Quiero verificar si tengo registros duplicados en la tabla.

Normalmente en SQL solo seleccionaría

select count(jobnum) cntjobnum, JobNum, ProcessNum 
from table 
where jobnum = '1234' and processnum = '5678' 

¿Existe una manera similar en C# (usando una aplicación de consola de C#)?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes lograr el mismo resultado utilizando LINQ en una aplicación de consola en C#.

    Aquí hay un ejemplo de consulta LINQ que agrupará el datatable por las columnas JobNum yProcessNum y contará la cantidad de registros duplicados:

    var duplicates = datatable
                    .AsEnumerable()
                    .GroupBy(row => new 
                    { 
                        JobNum = row.Field<string>("JobNum"), 
                        ProcessNum = row.Field<string>("ProcessNum") 
                    })
                    .Where(group => group.Count() > 1)
                    .Select(group => new 
                    { 
                        JobNum = group.Key.JobNum, 
                        ProcessNum = group.Key.ProcessNum, 
                        Count = group.Count() 
                    });
    

    Luego puedes comprobar si hay duplicados verificando si la variable duplicates tiene algún elemento:

    if(duplicates.Any())
    {
        // Maneja los duplicados
    }
    else
    {
        // No se encontraron duplicados
    }
    

    Ten en cuenta que este ejemplo asume que las columnas JobNum y ProcessNum son ambas de tipo string. Si son de un tipo de datos diferente, deberás modificar el código en consecuencia.

Comments are closed.