gpt4 book ai didi

c# - 如何按列值过滤我的数据表?

转载 作者:太空狗 更新时间:2023-10-29 20:46:45 24 4
gpt4 key购买 nike

我有一个关于 DataTable 的问题。我从数据库中检索了一个 DataTable,其中一列包含 1 或 0。现在我只想检索该列中 1 值为 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;

最佳答案

通过 SQL(首选)

SELECT * FROM dbo.Table WHERE ACTIVATE = 1

通过 Linq-To-Datatable(在内存中):

DataTable tblFiltered = table.AsEnumerable()
.Where(r => r.Field<int>("ACTIVATE") == 1)
.CopyToDataTable();

如果您仍在使用 .NET 2,则可以使用 DataTable.Select :

DataRow[] filteredRows = table.Select("ACTIVATE = 1");

除此之外,您不需要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 );
}

关于c# - 如何按列值过滤我的数据表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13701160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com