2011-06-27 64 views
2

我有問題獲取數據集來更新對數據庫的更改。C#綁定文本框不會更新使用tableadapter更新

我開始填寫一個數據集,使用我在表適配器上創建的FillBy查詢。 「SELECT * FROM TBLTEST WHERE testID =(testID = @testId)

這將返回一個記錄。我想將dataset.datatable的每列綁定到表單上自己的文本框中。

textBox1.DataBindings.Add("Text", dataset.datatable, dataset.datatable.NameColumn.ToString()); 

這將加載數據很好,我做在文本框中一些變化的數據。然後,當我使用tableadapter.Update(集)來更新數據庫更改,它不會更新記錄。

如果我使用此數據集填充數據網格,進行更改,然後運行tableadapter.update(dataset),它將更新記錄。

如何在不使用datagrid的情況下使用tableadapter.update()?我是否必須爲tableadapter編寫自定義更新?

回答

1

我確實發現了數據庫沒有更新的原因。我檢查了已更改行的行狀態,它仍處於「未修改的」狀態。

我更改了綁定設置並創建了一個新的綁定源,並將數據源設置爲數據集。並將datamember設置爲dataset.datatable。然後將控件綁定到該綁定源中的一列。

運行之前需要以下行tableadapter.update(集),使該行狀態改變

this.BindingSource.EndEdit(); 

然後一切都正確更新