簡體   English   中英

使用C#編輯由SQL查詢數據源填充的列表框的內容

[英]Editing contents of a listbox that is populated by a sql query datasource using c#

我有一個由查詢結果集填充的列表框,我希望使用戶能夠編輯列表框的內容並更新數據庫后端,我該如何實現呢?

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();

    }

為此,您需要使用datagridview。 為此目的而設計。 您可以將數據源分配給gridview並允許用戶編輯行。 然后,通過處理行編輯事件或通過提供按鈕,可以更新數據庫。 在這里查看示例

您使用WPF還是WinForms? 無論如何,您都需要研究WinForms中的BindingsBindingSource或WPF中的Binding類( http://msdn.microsoft.com/zh-cn/library/ms750612.aspx )。

查看DataTable事件http://msdn.microsoft.com/zh-cn/library/system.data.datatable_events.aspx 有RowChangedEvent。 在其處理程序中調用update sql命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM