obtener - leer valores de un datatable c#
¿Cómo puedo filtrar mi DataTable por valor de columna? (4)
A través de SQL (preferido)
SELECT * FROM dbo.Table WHERE ACTIVATE = 1
Via Linq-To-Datatable
(en memoria):
DataTable tblFiltered = table.AsEnumerable()
.Where(r => r.Field<int>("ACTIVATE") == 1)
.CopyToDataTable();
Si todavía está en .NET 2, puede usar DataTable.Select
:
DataRow[] filteredRows = table.Select("ACTIVATE = 1");
Aparte de eso, no necesita seleccionar el selectcommand.ExecuteReader()
para llenar la tabla.
DataTable table = new Datatable();
using(var con = new SqlConnection(connectionString))
using(var cmd = new SqlCommand("SELECT * FROM dbo.Table WHERE ACTIVATE = 1", con))
using(var da = new SqlDataAdapter(cmd))
{
da.Fill( table );
}
Tengo una pregunta sobre DataTable
. DataTable
un DataTable
de la base de datos, y una de estas columnas contiene un 1 o un 0. Ahora quiero recuperar solo las filas con un valor 1 de 1 en esa columna.
El nombre de la columna es ACTIVATE
.
Aquí está mi DataTable
:
DataTable table = new DataTable(TABLE);
//How can I filter here so ACTIVATE == 1?
adapter.Fill(table);
connection.Open();
selectcommand.ExecuteReader();
return table;
Simplemente use DataTable. Seleccione de esta manera:
foundRows = table.Select("ACTIVATE = ''1''");
Devuelve una matriz de objetos DataRow.
return table;
DataTable results = table.Select("ACTIVATE = 1").CopyToDataTable();
DataTable results = table.Select("ACTIVATE = 1").CopyToDataTable();
Eso debería lograr lo que quieres, básicamente puedes consultar tablas de datos de forma muy similar a SQL.