3

我有一个像这样的单选按钮和组合框:

在此处输入图像描述

如果用户选择单选按钮或单选按钮,组合框会自动获取数据(如果我选择单类型,则为单类型的房间号)。我已经有这样的存储过程。

create procedure viewRoom
@IDBranch varchar(5),
@NoTypeRoom varchar(5)

as

select NoRoom
from MsRoom
where NoTypeRoom = @NoTypeRoom
and IDBranch = @IDBranch
and AvailabilityRoom>0 

我该怎么办,每次我选择单选按钮时,都可以在组合框中显示获取的数据?

4

2 回答 2

1

你将不得不使用cmd.CommandType=CommandType.StoredProcedure

SqlCommand cmd  = new SqlCommand("viewRoom", conn);
cmd.CommandType=CommandType.StoredProcedure;
da=new SqlDataAdapter(cmd);
ds=new DataSet();
da.Fill(ds);
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
cmbItems.items.add(ds.Tables[0].Rows[i][0].tostring()); //way to put table in combo

尝试使用这种代码。

希望这对您有所帮助。

于 2013-05-29T05:29:32.323 回答
1

您可以像这样填充组合框:

comboBox1.DisplayMember = "YourColmName";
comboBox1.ValueMember = "YourFied"; //Field which you want set the value of combobox 
comboBox1.DataSource = PopulateCombo(NoTypeRoom,IDBranch) // variables

在这种情况下,您的值和标签可能相同,但在其他情况下,您需要指定


Public DataTable PopulateCombo(string NoTypeRoom,string IDBranch)
{
SqlCommand cmd = new SqlCommand("viewRoom", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@NoTypeRoom", NoTypeRoom);
cmd.Parameters.AddWithValue("@IDBranch", IDBranch);
SqlDataAdapter dap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
dap.Fill(ds);
return ds.Tables[0];  
}
于 2013-05-29T06:14:44.680 回答