检索在where子句中传递整数列表的所有记录
本文关键字:列表 记录 整数 where 子句 检索 | 更新日期: 2023-09-27 18:03:11
请帮我修复下面这个命令文本"query"的语法。我想传递一个整数列表"int"来检索与它们匹配的所有行。
private void(List<int>ints)
{
// some variables
string query =
string.Format(
"SELECT * FROM " + table +
" WHERE SubId={0} AND RouteID IN({1})",
SubId,
ints
);
// more stuff
}
如果您想要这样格式化int
列表,则需要在两者之间添加逗号:
string.Format(
"SELECT * FROM " + table +
" WHERE SubId={0} AND RouteID IN({1})",
SubId,
string.Join(",", ints)
);
假设所有内容都是int
,没有来自用户输入的内容,并且列表不太长,这应该可以正常工作。但是,您应该强烈考虑改用参数化SQL。具体来说,在这种情况下,可以通过使用表值参数大大改进查询。