2
我有一个数字和名称的列表。我想搜索一个数据库,并找到数字是否与我的sql选择匹配。如果是这样,我需要将它填充到数据表以及名称。然后在数据表中的foreach行写入另一个列表。我无法将名称填充到数据表中,因为我没有在SQl select中将它用作参数。使用列表成员填充数据表,如果它匹配SQL选择
DataTable dt = new DataTable();
try {
using (SqlConnection conn = getconnection()) {
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandTimeout = 5000;
string select = @"SELECT NBR
FROM People
where ID in (15,17) and NBR=Nbr and ACCEPTED=0";
foreach (Fields f in Members) {
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@Nbr", f.nbr);
cmd.CommandText = select;
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
//if f.nbr matches sql select fill it to datatable how can I fill dt with f.name as well?
adapt.Fill(dt);
}
}
foreach (DataRow row in dt.Rows) {
Fields f1 = new Fields();
f1.nbr= Convert.ToInt64(row["NBR"]);
// f1.name=Convert.ToString(row["Name"]????
Not.Add(f1);
}
那么,为什么你不包括在查询中的名字吗? – Melanie
,因为该sql表没有名称字段只有一个nbr字段 – Jt2ouan
在你的选择字符串中,你可以做一个连接到有名字的表吗? – Melanie