0

DataBase DataSet を DataGridView にアタッチして、そのコンテンツを自動的に表示しました

しかし今、この DGV で行われた変更を収集して、データベースを更新する必要があります。どうすればよいですか?

4

1 に答える 1

0

a を使用して、コマンドSqlCommandBuilderを作成および実行できます。Update

    private void UpdateDatabase()
    {
        //Create an adapter to get the schema and point to the correct table
        //Can do something like SELECT * from table_name where 0 = 1
        SqlDataAdapter adapt = new SqlDataAdapter(yourSelectString, yourConnectionString);
        SqlCommandBuilder builder = new SqlCommandBuilder(adapt);

        try
        {
            adapt.Update(ds.Tables[0]);
            ds.Tables[0].AcceptChanges();
        }
        catch (Exception ex)
        {
            //Handle any exception here
        }
    }

Updateこれにより、 の変更に基づいてコマンドが動的に作成されますDataTable

編集

あなたが提供した(そして何らかの理由で削除された)コードは、DataSetあなたのDataGridView. のセルの値を変更するとDataGridView、基になるセルが自動的に変更DataTableされます (あなたの場合はds.Tables[0]. 変更をデータベースに送り返すために、上記の方法を使用するとUpdate、変更を送り返す SQL コマンドが自動的に作成および実行されます。データベース。

于 2013-05-22T17:08:57.360 に答える