0

我的应用程序用于构建稍后使用的查询。DBCommand 和 SQLParameter-s 用于安全原因和转义。我想在 where 子句的开头添加一个部分(作为文本框输入),所以最后该部分看起来像:

WHERE @SECTION1 AND COLUMN1 = @PARAMETER1 AND COLUMN2 = @PARAMETER2 AND ...

当我运行该应用程序时,它失败并出现以下异常:在预期条件的上下文中指定的非布尔类型的表达式,靠近“AND”。当然,在我添加 @SECTION1 之前,它一直都在工作。

我在论坛上发现我必须使用动态 SQL 才能做到这一点,但我显然不能,因为出于安全目的我们需要 SQLParameters。有没有其他方法可以实现这一目标?谢谢你的回答

4

1 回答 1

1

查看此链接http://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/了解如何使用动态 sql。

但是,如果您运行代码并执行 sql,我建议在您的 c# 应用程序中构建 sql 语句。

于 2013-03-07T12:48:01.503 回答