【问题标题】:How to fetch data from SQL database to combo box - C#如何从 SQL 数据库中获取数据到组合框 - C#
【发布时间】:2013-05-24 06:02:04
【问题描述】:

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

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

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

as

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

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

【问题讨论】:

    标签: c# sql stored-procedures combobox radio-button


    【解决方案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
    

    尝试使用这种代码。

    希望对你有所帮助。

    【讨论】:

    • 那么如何把它从tables放到combobox呢?
    • 真的很抱歉,最后一行把cmd写错了,看我的编辑
    • 所以 cmbItems 指的是我的组合框的名称?
    • 是的,我也对此发表了评论。
    【解决方案2】:

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

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

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


    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];  
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多