2008-11-18 107 views
2

我無法將DataGridView中的新行保存回數據庫。簡而言之,DataGridView/DataSet更新

1)我使用SqlDataAdapter填充DataSet中的DataTable。

2)DataTable是網格視圖的數據源。 3)如果用戶單擊DataGridView底部的空白「新行」,我捕獲RowEnter事件中新的空行,並用數據填充它。數據出現在DataGridView中。

4)當我調用SqlDataAdapter上的Update時,新數據消失並且不保存到數據庫。

在步驟之間3 & 4我嘗試了DataGrid.EndEdit,DataSet.AcceptChanges,BindingContext [...] .EndCurrentEdit和其他一些沒有成功的東西。

如何將更改從DataGridView傳播回DataSet?

而且,如果我可能被允許發出一個簡短的嗚嗚聲,爲什麼很難找到這樣一個明顯事物的簡單例子?

回答

1

根據this,AcceptChanges可能是問題。

報價:

嘿,

不能更新之前執行的AcceptChanges。 AcceptChanges使RowState返回Unchanged(添加的行應添加RowState值,更新的行應爲Modified RowState值)。

UPDATE語句應該調用acceptChanges你

注意,我沒有發現這個MSDN的任何地方。

您是否會從需要Google查詢自己的文檔的公司購買搜索引擎?