C# 列表框SelectedIndex随access数据库更改

C# 列表框SelectedIndex随access数据库更改,c#,ms-access-2007,listboxitem,C#,Ms Access 2007,Listboxitem,为混乱的代码道歉。。我有下面这个代码,它工作得很好。。它工作,用unqiue值填充列表框 void sumload() { cn.Open(); cmd.Connection = cn; cmd.CommandText = "SELECT DISTINCT status FROM changes"; OleDbDataReader reader = cmd.ExecuteReade

为混乱的代码道歉。。我有下面这个代码,它工作得很好。。它工作,用unqiue值填充列表框

void sumload()
        {
            cn.Open();

            cmd.Connection = cn;
            cmd.CommandText = "SELECT DISTINCT status FROM changes";

            OleDbDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                lst_summary2.Items.Add(reader["status"].ToString());
            }
            cn.Close();
        }
我希望能够从列表框中选择一个项目,它将调用另一个查询,根据该值填充第二个列表框。我已经使用数据网格使其工作,但似乎无法使其与此工作,有什么想法吗

    private void lst_summary2_SelectedIndexChanged(object sender, EventArgs e)
    {

            string selectedIte = lst_summary2.SelectedItem.ToString();

            cn.Open();
            cmd.Connection = cn;

            cmd.CommandText = "SELECT * FROM changes WHERE status = '" + selectedIte + "'";

            OleDbDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                lst_summary3.Items.Add(reader["changetitle"].ToString());
            }
            cn.Close();
    }

你有什么错误吗?尝试在ExecuteReader上设置断点,检查selectedIte变量的当前值是多少,并查看代码是否进入循环无错误-我尝试在输出所选值之前插入messagebox,在读取器之后插入messagebox,但什么都没有。。即使有断点。。这就好像它无法识别一样。您是否将此事件处理程序链接到lst_summary2的适当事件?如果未调用它,则事件处理程序不会链接到事件。如果SelectedIndexChanged事件链接到此事件句柄,请选中ListBox属性。这正是我所需要的!谢谢:)@damm只是一个旁注,
SelectedIndexChanged
由用户触发,可以通过编程方式触发。您可能希望使用
SelectionChangeCommitted
,该选项仅在用户更改
组合框中的值时触发