2011-09-14 12 views
0

DataSetとTableAdapterを使用してDatagridviewを生成していますか? Datagridviewでは、新しいレコードを一番下に挿入することができます。今度は、新しいレコードの値をDatagridviewに入力すると、そのレコードはデータベースに自動的に保存されません。新しいレコードをデータベースに戻すためには、どのイベントを処理する必要がありますか、どのコードを書き込む必要がありますか。新しいレコードをDatagridviewからデータベースに保存します。

am C#を使用しています。

+0

グリッドビューにコードを入力してください(投稿したい場合は投稿してください)か、データソースを使用しますか? – Carsten

+0

WindowsフォームまたはWebフォーム?データをグリッドにバインドするために使用するコードを表示できますか? –

+0

DataGridViewにTableAdapterとそのWindowsフォームアプリケーションを実装します。 – Gonzalez

答えて

0

あなたはTableAdapterUpdate()メソッド呼び出しているの?ダヴィデPirasのは、あなたのフォーム上またはあなたがデータになりたい場合は[保存]ボタンを持っている可能性が示唆するように、各列として保存されます - 以下のコードでは、ロジックのこの種を置くことができ、様々な場所がありますMSDN's discussion on the TableAdapter:

try 
{ 
    this.Validate(); 
    this.customersBindingSource.EndEdit(); 

    this.customersTableAdapter.Update(this.northwindDataSet.Customers); 
    MessageBox.Show("Update successful"); 
} 
catch (System.Exception ex) 
{ 
    MessageBox.Show("Update failed"); 
} 

から来ていますが入力されると、RowValidatedイベントハンドラで保存ロジックを使用できます。

1

あなたはどこかに保存]ボタンを置くことができ、ユーザーがそのボタンをクリックしたときには、このようなメソッドを呼び出す:

private void UpdateDataSet(DataSet dataSet) 
{ 
    // Check for changes with the HasChanges method first. 
    if(!dataSet.HasChanges(DataRowState.Modified)) return; 

    // Create temporary DataSet variable and 
    // GetChanges for modified rows only. 
    DataSet tempDataSet = 
     dataSet.GetChanges(DataRowState.Modified); 

    // Check the DataSet for errors. 
    if(tempDataSet.HasErrors) 
    { 
     // Insert code to resolve errors. 
    } 
    // After fixing errors, update the data source with 
    // the DataAdapter used to create the DataSet. 
    adapter.Update(tempDataSet); 
} 
関連する問題