C#MDI无法在子表单上填充列表框

时间:2015-04-12 16:44:51

标签: c# sql-server listbox mdi

我正在尝试从sql server中的表填充C#中的列表框。该表设置为: tblTables TableID int SeatingCapacity int CurrentCapacity int

我尝试使用的代码是:

private void fillListBox()
    {
        String connectionString = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
        SqlConnection conn = new SqlConnection(connectionString);
        SqlDataAdapter da = new SqlDataAdapter();

        String commandString = "SELECT TableID, SeatingCapacity, CurrentCapacity from tblTables";
        SqlCommand cmd = new SqlCommand();
        SqlDataReader dr;
        conn.Open();            
        cmd.CommandText = commandString;
        cmd.Connection = conn;
        dr = cmd.ExecuteReader();
        lstTableList.Items.Clear();
        lstTableList.BeginUpdate();
        while (dr.Read())
        {
            lstTableList.Items.Add(dr.GetInt32(0) + " - " + dr.GetInt32(1) + " - " + dr.GetInt32(2));
        }
        lstTableList.EndUpdate();
        dr.Close();
        conn.Close();


    }

要传输的父表单的代码是:

private void mnuFormsTables_Click(object sender, EventArgs e)
    {
        frmTables aTables = new frmTables();
        aTables.MdiParent = this;
        aTables.Show();
        aTables.Focus();
    }

我调用fillListBox()是frmTables的表单加载。但是,当我提出一个断点

    String connectionString = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;

它显示在该行之后,代码跳转到

的父窗体
aTables.Show();

非常感谢任何帮助。我也不确定这是否是填充列表框的正确方法。优选地,如果列表框可以显示表ID并且如果当前容量> =座位容量则在其旁边添加“完整”将是好的。 github repo URL为https://github.com/resistince/StaufferRestaurant

编辑:如果我使用:

 String connectionString = Properties.Settings.Default.StaufferRestaurantConnectionString;

而不是使用ConfigurationManager它的工作原理。我有System.Configuration.dll作为参考和正确的使用语句,所以我不知道为什么它不能正常工作。

0 个答案:

没有答案