5

私はこれを持っています。「ユーザーが入力した、任意の 2 つの日付の間にクラブが上映したすべての映画の詳細を示します。たとえば、クラブのメンバーは、クエリのパラメーターの開始日と終了日を入力できなければなりません」

では、ユーザー入力を行うにはどうすればよいでしょうか。私が考えることができる唯一の方法は、値を取得し、それらをクエリの変数として送信するhtmlフォームでphpまたは何かを使用することです。ただし、それは必要なものではありません。では、クエリが値を要求するようにするにはどうすればよいでしょうか。それともできませんか?

これまでの私のクエリはそうです。

SELECT film.title, film.desc, show.sdate, show.fdate
FROM film
INNER JOIN show
ON film.ID=show.filmID
WHERE sdate = '&userstart' AND fdate = '&userend'

ユーザー入力はどのように処理すればよいですか? また、クエリは正しいですか?私にはテストする方法がありません。実装ではなく設計しかありません。

どうもありがとう

編集:Windowsシステム、MS SQL Serverを使用。

4

3 に答える 3

3

ストアドプロシージャのコードは次のとおりです。

CREATE PROCEDURE SomeName(@UserStart DATETIME, @UserEnd DATETIME) 
AS BEGIN

SELECT somestuff
FROM sometable
WHERE somedate BETWEEN @UserStart AND @UserEnd

END
于 2012-08-15T19:27:21.043 に答える
1

@ Kyle93 - あなたの WHERE 句を見る:

WHERE sdate = '&userstart' AND fdate = '&userend'

これにより、入力された日付値と等しい sdate(Start Date?) を持つ映画のみが取得されます。大なり演算子、小なり演算子を使用することもできます....

そのような:

WHERE sdate <= '&userend' AND fdate >= '&userstart'

(sdate と UserEnd Date を比較して、映画の上映が UserEnd Date よりも早く開始されていることを確認することに注意してください...など)

このように、ショーが日付範囲内で開始または終了すると、そのショーが選択されます。

于 2012-08-15T19:15:11.567 に答える
-2

LINQ に精通していますか? これは、C# から db 呼び出しを行う方法です。

-- ご想像のとおり、HTML でこれを処理し、Javascript/Ajax を使用して、db 呼び出しに LINQ を使用する C# コードを参照します。ただし、あまり詳しくない場合は、少し複雑かもしれません。興味があれば、良いチュートリアルをお勧めします。

于 2012-08-15T18:26:36.157 に答える