2010-07-12 31 views
0

我對此感到瘋狂。我做了ff:C#SqlDataAdapter.Update()

  1. 創建一個數據表。
  2. 通過SqlDataAdapter從SQL數據庫填充它。
  3. 編輯datatable到datagridview。
  4. 調用sqldataadapter.update,但更改不會持久到數據庫。

編輯後仔細看看數據表,即使我通過datagridview實際編輯數據表,但編輯的DataRow在項目數組中有更改,行狀態並未更新。真的令人困惑..任何想法?謝謝。

回答

1

你需要幾件事情來完成這項工作。如果從數據源拖動表中查看你結束了你的GUI一些不同的東西:

  1. 數據集
  2. 一個BindingSource的
  3. TableAdapter的
  4. 一個tableAdapterManager
  5. 一個BindingNavigator

有了這些,你可以看看源代碼,看看是什麼背後的場景。您需要EndEdit(如Baldi之前所說),但您需要更多一點:

private void UpdateGridView() 
{ 
    // validate that data types corresponds to database table column 
    this.Validate(); 

    // ends edit on the graph table 
    this.graphBindingSource.EndEdit(); 

    // ends edit on the graph table 
    this.intervalBindingSource.EndEdit(); 

    // connect to the database - and exceute changes 
    this.tableAdapterManager.UpdateAll(this.diagramDBDataSet); 
} 

希望這會讓您開始。如果您想了解更多信息,可以使用.NET database slide showdatabase tutorial。 祝你好運!

0

你使用DataBinding嗎?調用EndEdit可能有幫助...!

+0

DataBinding沒有幫助。這真是令人困惑。 – Jojo 2010-07-12 09:06:19