使用c#编辑由sql查询数据源填充的列表框的内容

本文关键字:列表 填充 数据源 编辑 sql 查询 使用 | 更新日期: 2023-09-27 18:26:50

我有一个由查询结果集填充的列表框,我想让用户能够编辑列表框的内容,并在后台更新数据库,我该如何实现这一点?

public Brand_Manager(Main parent)
{
SqlConnection conn = new     SqlConnection(ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString.ToString());
        SqlCommand cmd = new SqlCommand("select Brand_ID, Brand_Name from Brand where status=1", conn);
        conn.Open();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable t = new DataTable();
        da.Fill(t);
        listBox1.DisplayMember = "Brand_Name";
        listBox1.DataSource = t;
        listBox1.ValueMember = "Brand_ID";
        conn.Close();
}
 private void Edit_Button_Click(object sender, EventArgs e)
    {
        this.Edit_Button.Enabled = false;
        object item = listBox1.SelectedItem;
         Edit_Brand frm = new Edit_Brand();
        this.AddOwnedForm(frm);
        frm.ShowDialog();
    }

使用c#编辑由sql查询数据源填充的列表框的内容

您使用WPF还是WinForms?无论如何,您需要研究WinForms中的Bindings:BindingSource或WPF中的Binding类(http://msdn.microsoft.com/en-us/library/ms750612.aspx)。

查看DataTable事件http://msdn.microsoft.com/en-us/library/system.data.datatable_events.aspx。存在RowChangedEvent。在处理程序中调用update-sql命令。

为此需要使用datagridview。它就是为这个目的而设计的。您可以将数据源分配给gridview,并允许用户编辑行。然后,通过处理行编辑事件或单击按钮,您可以更新数据库。请参阅此处的示例