我想通过将值作为参数传递来操作IN子句来选择行,更新行或删除行。它在处理字符串类型或(varchar)类型时有效,但在处理整数时失败。
SELECT
recID, recDisplayOrder, recShowItem, recAssetID, recSequence, IsSeparator
FROM
tCommonAssets
WHERE
recID IN (@recIDs)
recID
是一个整数。将诸如46,47,48之类的值传递给参数@recIDs
失败,因为SQL Server CE将其视为字符串而不是整数序列。在考虑SQL Server CE不支持子查询的答案时请记住。 SQL Server CE不支持派生表,SQL Server CE不支持存储过程。
我已经在此论坛上就此问题准备了类似的文章,但他们处理SQL Server而不是SQL Server CE。
感谢您的时间和反馈。
答案 0 :(得分:0)
您无法传递参数,您必须在代码中将SQL语句构造为字符串。 您必须在代码中构造/组合SQL语句,因此WHERE子句变为:
WHERE recID IN (46,47,48)