反映数据集和数据表上对数据网格所做的更改

时间:2010-01-24 19:12:18

标签: c#

我有一个datagrid,它有一个数据集作为其数据源,该数据集包含一个数据库表。我需要的是当我对datagrid中的单元格值进行更改时,更改也应该反映在数据库上。事情是这些变化会反映在数据集上,但是当我使用da.Update(ds,“TableName”)将更改转发到数据库时,它不起作用。即使datagrid和数据集显示更新的值,数据库仍会显示旧值。 我在其他地方的同一程序中使用过两次da.Update()命令,它似乎正常工作,数据库显示更新的值。我不知道这次会导致它无法正常工作。令人惊讶的是,我甚至没有得到任何错误,代码执行正常,但数据库中没有看到任何变化。 有人帮忙!!!

编辑实际上,我正在做的是从数据网格中选择一行,然后在文本框中显示该行的所有单元格值。然后我正在编辑这些值并使用foll保存它们。代码

private void btnSave_Click(object sender,EventArgs e) {   dgDetails.SelectedCells [0] .Value = txtPurpose.Text;    da.Update(ds,“Scheduler”); }

没有人能解决问题????

1 个答案:

答案 0 :(得分:0)

您是否对填充和更新方法调用使用相同的数据适配器?我相信大多数情况下你需要从同一个数据适配器调用fill和update方法。

另外,请确保在调用Update之前不调用AcceptChanges。 AcceptChanges会将数据集的状态更改为未更改。

有一个很好的例子可以在http://www.developerfusion.com/article/3801/web-forms-datagrid-and-dataset-programming/6/

完成你想要做的事情