【发布时间】:2015-05-28 16:10:10
【问题描述】:
我想在 C# 中创建一个 sql 查询,以查找具有列表中指定键的所有行。我可以用一个查询来做到这一点吗?我想这比我在 for 循环中一次找到一个项目的解决方案更有效,如下所示:
foreach (int i in list)
{
string Q = "... where pk = " + i.ToString();
using (SqlCommand CM = new SqlCommand(Q, C))
{
using (SqlDataReader R = CM.ExecuteReader())
{
while (R.Read())
{
...
}
}
}
}
列表包含不同的值。
提前致谢!
【问题讨论】:
-
看看
INSQL 关键字。 Building SQL “where in” statement from list of strings in one line? 例如。强制“使用准备好的语句而不是手动制作 SQL 字符串”。 -
你不能使用表值参数将列表作为参数发送吗?