私はこのホテル予約システムを利用しています。予約する特定のルームタイプの客室数を選択するドロップダウンリストがあります。ここで私は私の現在のコードのみ(CI-1)である第一Room_IDを取得するルームIDがTable_MyCart異なる行からセル値を取得する(行数はユーザーの入力に依存)
Room_ID | Room_Type | Username | Arrival_Date | Departure_Date | Status
--------|-----------|----------|--------------|----------------|-------
CI-1 |Carneros |myuser |date |date |Available
CI-2 |Carneros |myuser |date |date |Available
に挿入されるようになりますどこTable_Roomはあるが、どのような場合は、ユーザーがドロップダウンリストを使用し、2つの部屋を選びました現在のタイプは? Room_ID(CI-2)はどのように取得できますか?ここに私の現在のコードされています
roomtype = "Carneros Inn";
SqlCommand cmd = new SqlCommand("FindRoom", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ROOM_TYPE", SqlDbType.VarChar).Value = roomtype;
conn.Open();
cmd.ExecuteNonQuery();
roomid = cmd.ExecuteScalar().ToString();
conn.Close();
マイSQLコードFindRoomのStoredProcedureのためにはこれです:
CREATE PROCEDURE [dbo].[FindRoom]
@ROOM_TYPE VARCHAR (20)
AS
SELECT ROOM_ID FROM TBL_Room
WHERE ROOM_TYPE = @ROOM_TYPE AND STATUS = 'AVAILABLE';
すべてのヘルプは、あなたのストアドプロシージャが既に持っているすべての行を返す
あなたは間違ってcmd' 'からの結果を読んでいます。あなたはスカラー結果を期待していません。むしろ、行セットが必要です。見て@ [私はどのようにデータテーブルにストアドプロシージャからテーブルを取得することができます](http://stackoverflow.com/questions/1933855/how-can-i-retrieve-a-table-from-stored-procedure-to -a-datatable)。 – Serge
これで、Room_IDを選択した部屋をユーザーが選択できることを理解できますか? – Steve
@Steveユーザーが予約する部屋の数量を選択し、システムは自動的に予約する部屋の数を指定します。 – Newbie10