检索C#数据表中的特定数据行
本文关键字:数据 数据表 检索 | 更新日期: 2023-09-27 17:58:10
我在C#中有一个名为"table"的数据表,如下所示:。
ID Value
10 A
20 B
30 C
(它实际上有大约1200行,但我试图简化它)我的目标是能够打印这个数据表中的特定行。例如,如果我想打印第二行(行索引1),我会使用以下内容:
Response.Write(table.Rows[1]["Value"].ToString());
这会打印出值"B",这正是我想要的,但有没有办法使用"ID"列来打印特定的值,而不是使用行索引1。我希望能够以某种方式将ID 10和值B链接在一起。
如果ID
被定义为主键,则应通过其ID
键查找B
:
Response.Write(table.Rows.Find(20).["Value"].ToString());
如果ID没有设置为PK(或者您想查询另一个字段),您可以使用Linq查询
var chosenRow = (from row in table.AsEnumerable()
where row.Field<int>("ID") == 10
select row).First();
chosenRow
是满足where
子句中设置的条件的第一个DataRow
对象。所以你可以:
Response.Write(chosenRow["Value"].ToString());
您可以使用for each在数据表中循环,当ID等于10时,您可以执行想要的
应该是这样的:
for each row as datarow in datatable.rows
if row.Items["ID"] = 10 Then
//do something
end if