我在获取数据集以更新数据库更改时遇到问题。
我首先使用我在表适配器上创建的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编写自定义更新?
答案 0 :(得分:1)
我确实找出了数据库没有更新的原因。我检查了更改行的行状态,它仍处于“未修改”状态。
我更改了绑定设置并创建了一个新的 bindingsource ,并将数据源设置为数据集。并将数据集设置为dataset.datatable。然后将控件绑定到该bindingsource中的列。
在运行tableadapter.update(dataset)之前,需要以下行以便行状态更改
this.BindingSource.EndEdit();
然后一切都正确更新