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 に答える