SQL Server CE处理整数类型的参数in子句

时间:2014-12-15 14:25:21

标签: integer sql-server-ce in-clause

我想通过将值作为参数传递来操作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。

感谢您的时间和反馈。

1 个答案:

答案 0 :(得分:0)

您无法传递参数,您必须在代码中将SQL语句构造为字符串。 您必须在代码中构造/组合SQL语句,因此WHERE子句变为:

WHERE recID IN (46,47,48)