HTMLラジオボタンとテキストボックスの値からキーと値のペアを作成し、そのペアを配列に挿入してその配列をSPのWHERE句に追加するSQLストアドプロシージャのパラメータ?キーと値のペアを動的に作成してから...
私は、起動時にSQL Server DB内の1つのテーブルを参照するダッシュボードアプリケーションを構築しています。これにより、単純な選択SPの結果が返されます。私はので、私は、私は1-4の間でフィールド名を選択することができ、それらをすることによってフィルタする値を与える必要があり、この時点ではしかし、「擬似コード」(ごめん)
DECLARE @SelectedDate NVARCHAR(50)
SELECT * FROM Tablename WHERE log_ts > @SelectedDate
午前SQLにはかなり新しいです。
これらのフィールド名をラジオボタンとして設定し、注入を防止するために、アプリケーションの既知の値に対してこれらの入力をスクリーンしてから、入力のデフォルト値を挿入することを含めて、 私は、スクリーニングが完了したら配列[string、string]を設定し、その配列を配列[フィールド、値]としてSQLに渡すことを考えました(null値は決してありません)。私の脳は、のために正常に見える場所です
SELECT *
FROM TableName
WHERE [application_name] = [Mobile]
AND [login_id]=[*]
AND [log_ts]=[Datetime.Today]
AND [error_level]=[Exception]
:
QueryArray = ["application_name","Mobile"]
["login_id","*"]
["log_ts","Datetime.Today"]
["error_level","Exception"]
はその後何とかこのようなwhere句にそれを渡し:送信され、すべてのペアはデフォルト値ですされているとき、配列は次のようになりたいですfor-eachまたはsomethingですが、SQLはかなり新しくなっています...もし私が見つけることができなかった前の記事への単なるリンクであっても、どんな助けも大いに評価されるでしょう...
最後のステートメント 'SELECT f1、fn FROM TABLE WHERE f1 in( 'v1')とf2 in( 'v2')'のようにこのアプローチを試すことができます。しかし、私はまだあなたの要件を完全に理解しようとしています。それについてもう少し考えてみましょう。 –
データの例と返されるものを表示する必要があります。日付を比較する場合は、 'NVARCHAR'ではなく、' DateTime'を使うべきです。また、 'field2'が存在しないときにあなたが望むものを教えてください。 –
また、データベースワークロードの抽象化レイヤーとしてEntity Frameworkを使用することについて考えましたか? –