我有这个酒店预订系统,有一个下拉列表,用户可以选择其特定房间类型的房间数量来保留。这是我的Table_Room,我会得到要对Table_MyCart插入室ID从不同行获取单元格值(行数取决于用户输入)
Room_ID | Room_Type | Username | Arrival_Date | Departure_Date | Status
--------|-----------|----------|--------------|----------------|-------
CI-1 |Carneros |myuser |date |date |Available
CI-2 |Carneros |myuser |date |date |Available
我当前的代码只是获取第ROOM_ID这是(CI-1),但如果用户使用的下拉列表,选择了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-数据表)。 – Serge
所以让我明白,用户可以选择一个房间选择Room_ID? – Steve
@Steve用户将选择要预订的房间数量,系统会自动给他们预留房间的数量 – Newbie10