Tar*_*sov 6 c# asp.net datatable filter adapter
我有一个问题DataTable.我DataTable从数据库中检索一个,其中一列包含1或0.现在我只想检索该列中值为1的行.
列的名称是ACTIVATE.
这是我的DataTable:
DataTable table = new DataTable(TABLE);
//How can I filter here so ACTIVATE == 1?
adapter.Fill(table);
connection.Open();
selectcommand.ExecuteReader();
return table;
Run Code Online (Sandbox Code Playgroud)
Tim*_*ter 18
通过SQL(首选)
SELECT * FROM dbo.Table WHERE ACTIVATE = 1
Run Code Online (Sandbox Code Playgroud)
Via Linq-To-Datatable(在内存中):
DataTable tblFiltered = table.AsEnumerable()
.Where(r => r.Field<int>("ACTIVATE") == 1)
.CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)
如果您仍在使用.NET 2,则可以使用DataTable.Select:
DataRow[] filteredRows = table.Select("ACTIVATE = 1");
Run Code Online (Sandbox Code Playgroud)
除此之外,您不需要selectcommand.ExecuteReader()填写表格.
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 );
}
Run Code Online (Sandbox Code Playgroud)
DataTable results = table.Select("ACTIVATE = 1").CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)
这应该可以实现你想要的,基本上你可以像SQL一样查询数据表。
| 归档时间: |
|
| 查看次数: |
36845 次 |
| 最近记录: |