数据库更改不会推送到服务器

时间:2012-07-29 02:47:22

标签: c# winforms

我有一个winforms应用程序,它使用IDE中的数据源和数据集控件

这是我正在使用的代码块

        dsParcelBatch.BC_cpo_PARCELRow pr = dsParcelBatch.BC_cpo_PARCEL.FindByISN(int.Parse(activeParcelID));
    pr.BeginEdit();
    pr.NODE_ISN = 6;
    pr.EndEdit();       
    pr.AcceptChanges();

    dsParcelBatch.AcceptChanges();

我可以读取第1行中的正确行,并使用正确的值填充PR行, 我打电话给beginedit,dsParcelBatch还没有更新。

我将NODE_ISN的值更改为新值,并且粘贴

我关闭了编辑,并接受了行中的更改。 我可以查看数据源(dsParcelBatch)并且更改在那里 - YEA!

我调用dsParcelBatch,更改的值被更改....

但是当我查看数据库时,该值又回到了原始值(5)

我错过了什么?

1 个答案:

答案 0 :(得分:0)

在调用AcceptChanges之前,您需要使用DataAdapterUpdate数据库。

AcceptChanges仅更改DataTable中行的状态,而不是数据库中的行。

MSDN

  

调用AcceptChanges时,任何DataRow对象仍处于编辑模式   成功结束编辑。 DataRowState也会更改:全部已添加   和修改的行变为未更改,删除的行将被删除。