2017-01-30 9 views
0

私は、指定された基準に応じてレポートを表示するレポートWebアプリを開発中です。SSRSレポートに完全な 'where'句の条件を渡すには?

SELECTのFirstName、LastNameのWHERE ID> 100とPIN> 200

ので、Webアプリケーションで、ユーザが "ID> 100とPIN> 200" と入力しますテキストボックス、が存在することになります。 次回は、 "ID> 100 AND PIN> 200またはコード< 30"と入力します。 ユーザーは自由に任意の条件をテキストボックスに入力できます。

SSRSでこの基準を適用するには、レポートクエリを使用しますか?

+1

、動的SQLを使用することができ、これはおそらくTERRIBLEアイデアですのでご注意ください。最低でも、ドロップダウンボックスのフィールドから選択して値を検証し、コード内にWhere句を作成できるようにする必要があります。それが立てば、ユーザーのコンピテンシーに応じて大きなセキュリティとパフォーマンスの問題が発生する可能性があります。とにかく純粋なSQLクエリを書いているのなら、単に管理スタジオを使用するのはなぜですか? – Milney

+0

ありがとう@Milney。私はそれが引き起こす可能性のあるセキュリティ問題を認識していますが、この画面は管理者だけがレポートを設定するためのものです。 – Nands

答えて

0

あなたは

DECLARE @sql VARCHAR(max) SET @sql = 'SELECT FirstName, LastName FROM MyTable ' + CASE WHEN @Criteria <> ' ' THEN 'WHERE ' + @Criteria ELSE ' ' END EXEC(@sql)

+0

ありがとう@niktrs。私は前の-1を否定した+1をしました。 – Nands

+0

ありがとうございました。私は、これがセキュリティ上の観点からは良いアイデアではない、とMilneyに同意します。だから慎重にしてください。 – niktrs

+0

コメントやより良い選択肢を提供するために私の解決策に同意しないことを誰かにお願いします。ありがとう – niktrs

関連する問題