valor seleccionar registros obtener leer imprimir fila datos data busquedas buscar c# select datatable

seleccionar - obtener un valor de un dataset c#



Seleccionar el segundo conjunto de 20 filas de DataTable (2)

Tengo una DataTable Estoy poblando de la tabla SQL con las siguientes columnas de ejemplo

  • CARNÉ DE IDENTIDAD
  • Tipo
  • Valor

Estoy rellenando DataTable con filas que son de cierto tipo. Quiero seleccionar las filas 10 a 20 de mi DataTable resultante:

Connect conn = new Connect(); SqlDataAdapter da = new SqlDataAdapter(SQL, conn.Connection()); //Creates data DataTable d = new DataTable(); da.Fill(d); DataRow[] result = d.Select();

En el código anterior he omitido el SQL principal, y actualmente no tengo seleccionado para mi matriz DataRow. No puedo encontrar una manera de hacer referencia a los números de fila.

Entonces, por ejemplo, estoy buscando algo como Select("rownum > X && rownum < Y")

He buscado aquí, y una cantidad de otros recursos sin resultado. Cualquier pista sería realmente útil, o simplemente una simple no posible.


Siempre es mejor seleccionar solo lo que necesita de la base de datos (fe utilizando la cláusula TOP o una función de ventana como ROW_NUMBER ) en lugar de filtrarla en la memoria.

Sin embargo, puede usar Linq-To-DataSet y Enumerable.Skip + Enumerable.Take :

var rows = d.AsEnumerable() .Skip(9).Take(11); // select rows 10-20 as desired (so you want 11 rows)

Si desea una nueva DataTable del resultado filtrado, use CopyToDataTable , si desea una DataRow[] use rows.ToArray() .


Simplemente haría el comando ''tomar'' y ''omitir'' y mantenerlo simple:

d.Select().Skip(10).Take(10); // skips 10 rows, then selects ten after that.

Esto supondría que tiene el conjunto de uso de Linq (utilizando System.Linq)