2
我正在尝试实现用户可自定义的搜索,并最终到达了SQL部分。用户可以选择可变数量的条件,并将所有内容以表值参数的形式发送到存储过程。我想出了如何创建sql字符串的逻辑,但是我被卡在发送参数的部分。一个伪代码的例子是:具有可变数量参数的EXEC sp_executesql
foreach parameter in the table-valued parameter
SqlString = SqlString + '@parameter'
ParamList= ParamList + '@parameter'
EXEC sp_executesql SqlString , ParamList, ???
我的问题是我如何设置参数,当我不知道它们有多少?
这是主要的想法,但为了防止SQL注入我需要将该值作为参数添加,而不仅仅将它与主字符串连接起来。如果我这样做,那么我需要将参数添加到Exec命令中... –