【发布时间】:2012-07-29 14:27:30
【问题描述】:
我有一个 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) 并且更改在那里 - 是的!
我调用dsParcelBatch,修改后的值就变了....
但是当我查看数据库时,值又回到了原来的值(5)
我错过了什么?
【问题讨论】:
-
您好,您确定您的字段 activeParcelID 不是主键吗?尝试更改另一个字段并验证它在数据库上的更改
-
activeParcelID 是主键......但同样,这些值开始保存在内存中的数据集中,我可以查看它们,它们只是没有被写入数据库。