我正在开发与Visual Studio 2017年的报告网络。我所有的SQL查询参数化和正常工作。问题出在某些查询中,像程序中那样具有exec命令。防止SQL执行查询与执行或执行
例如:
而不是SELECT * FROM tabla WHERE [email protected]
我已经把exec('SELECT * FROM tabla WHERE [email protected]')
的EXEC情况下无法正常工作。该错误信息是:
必须声明标量变量“” @id“”“& vbCrLf &‘必须声明标量变量‘’@id’”“ 任何人都知道一个可能的解决方案
。?
非常感谢
可以使用'sp_executesql'或将查询转换为函数/存储过程并使用参数调用它们。 –
另一种选择是使用EF并使用LINQ构建查询。这甚至可以让你根据用户的选择构建实际的查询,例如使用不同的Where()条件,OrderBy()这些字段。 –