【发布时间】:2015-04-30 18:12:15
【问题描述】:
我想从 DataTable 中选择一些记录并绑定到下拉列表中,有时我必须在 dataTable 中选择 where acc_id =1 ,在某些情况下我必须选择 where acc_id =1 和 acc_id=5 。 我如何使用 && 运算符,如果只有一个条件,则以下查询运行良好。如果我添加 AND(&&) 运算符在结果集中没有任何结果。
DataTable dt = new DataTable();
dt = ds.Tables[0];
var query = from a in dt.AsEnumerable()
where a.Field<Int64>("acc_id") == 1 && a.Field<Int64>("acc_id") == 5
select a;
dt = query.CopyToDataTable();
ddlAccount.DataSource = dt;
ddlAccount.DataTextField = "account_name";
ddlAccount.DataValueField = "acc_id";
ddlAccount.DataBind();
帮帮我。
【问题讨论】:
-
acc_id怎么可以同时是 5 和 1?你希望它会满足。 -
避免这种混淆的一种方法是使用所需 id 的集合:
int[] ids = {1,2}; .... where ids.Contains(a.Field<Int64>("acc_id"))。 -
谢谢大家,有点困惑 ;)
-
嗨@TimSchmelter 谢谢。