我只是说如果我有SQL
这样的话;
SELECT B.HESAP_NO
FROM S_TEKLIF B
WHERE B.HESAP NO = 234
我可以像SQL
代码一样以C#
方式添加一些参数;
if (txtBoxText1 != "")
{
strQuery = strQuery + " AND A.ISL_TAR >= @S_TARIH_B";
dt_stb = DateTime.Parse(txtBoxText1);
myCommand.Parameters.AddWithValue("@S_TARIH_B", dt_stb);
}
使用此代码,我可以将"A.ISL_TAR >= @S_TARIH_B"
添加到我的SQL
。
但是,在SQL IN
运营商中,我不知道如何添加一些参数。
例如;
SELECT A.HESAP_NO
FROM S_TEKLIF A
WHERE A.HESAP_NO IN (SELECT A.HESAP FROM S_TEKLIF WHERE A.MUS_K_ISIM =
for (int counter = 0; counter < list.Items.Count; counter++)
{
if (list.Items[counter].Selected)
{
values.Add(list.Items[counter].Value);
}
})
如何将参数添加到SQL IN
?
答案 0 :(得分:2)
有很多方法可以实现这一点,所有这些方法都在Arrays and Lists in SQL Server文章中进行了描述。对于任何SQL开发人员来说,这都是一个读者。
答案 1 :(得分:0)
我不知道将列表/数组作为单个参数传递以用作IN子句的一部分的任何方法。您最好的选择可能是自己将IN子句构建为字符串。
或者,您可以分步执行此操作
1.创建仅包含ID字段的临时表
2.创建参数化查询以将一个值插入该临时表中
3.遍历您的值,调用sql将值插入临时表中
4.执行主SQL查询,加入临时表而不是使用IN
您只需确保每次都不关闭并重新打开会话,从而确保您的临时表保持不变并保留您插入的值。