0

クエリ結果セットが取り込まれるリスト ボックスがあります。ユーザーがリスト ボックスの内容を編集し、データベース バックエンドを更新できるようにしたいのですが、どうすればこれを実現できますか?

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

    }
4

3 に答える 3

0

WPF または WinForms を使用していますか? とにかく、調査する必要がありますBindings: BindingSourceWinForms またはBindingWPF のクラス ( http://msdn.microsoft.com/en-us/library/ms750612.aspx )。

于 2013-08-07T05:53:45.683 に答える
0

DataTable イベントhttp://msdn.microsoft.com/en-us/library/system.data.datatable_events.aspxを見てください。RowChangedEvent があります。そのハンドラーで update sql コマンドを呼び出します。

于 2013-08-07T05:57:21.673 に答える
0

この目的には datagridview を使用する必要があります。この目的のために設計されています。データソースを gridview に割り当て、ユーザーが行を編集できるようにすることができます。次に、行編集イベントを処理するか、ボタンを指定して、データベースを更新できます。ここで例を見てください

于 2013-08-07T05:52:14.653 に答える