C# 检查datatable是否包含某些值
我试图检查之前从sql select创建的datatable是否包含与NumericUpDown相同的数字。 “表”是由sqldatareader使用Fill创建的C# 检查datatable是否包含某些值,c#,winforms,C#,Winforms,我试图检查之前从sql select创建的datatable是否包含与NumericUpDown相同的数字。 “表”是由sqldatareader使用Fill创建的 var table = new DataTable(); var da = new SqlDataAdapter("select id from table3 where typ in (0,1)", connectionString); da.Fill(table); 表很简
var table = new DataTable();
var da = new SqlDataAdapter("select id from table3 where typ in (0,1)", connectionString);
da.Fill(table);
表很简单:
id
2
3
5
我尝试的(nudNrArk是我的数字上下):
if(table.AsEnumerable().Any(s=>s.Equals(nudNrArk.Value)))
if(table.AsEnumerable().Where(c=>c.Field(“id”).Equals(nudNrArk.Value)).Count()>0)
这两种情况都不会变为现实
if(table.Rows.Contains(nudNrArk.Value))
这(看起来是最简单的方法)需要一个主键
有没有一种简单的方法可以将主键添加到此表中的列?
还是更好的检查方法?首先,这是一个解释力较低的问题,不清楚您想要什么 这应该是一项工作:
if (table.AsEnumerable().Where(c => c.Field<int>("id").Equals(nudNrArk.Value)).Count() > 0)
if (table.AsEnumerable().Where(c => c.Field<int>("id") == (int)nudNrArk.Value).Count() > 0)
table.PrimaryKey = new DataColumn[] { table.Columns["id"]};