C# DataSet和DataAdapter -- 如何改变行状态以调用INSERT?

3
我正在尝试实现一个“另存为”按钮,将DataAdapter.Filled()中的数据集插入到数据库中。
数据集有4个表--1个父表(单行表),3个子表。具有外键级联删除/更新约束。我的意图是要求用户提供新的主键(复杂类型),然后尝试告诉DataAdapter或DataSet将4个表中的所有行(以及随后的新行)标记为DataRowState.Added;但是DataRow.SetAdded()抛出异常“只能在DataRowState.Unchanged行上设置SetAdded”。
有没有人知道如何做到这一点? 欢迎任何其他高效的方法来实现“另存为”。非常感谢。
编辑: 以防万一,DataRelations已经设置。正常的INSERT、UPDATE、DELETE和SELECT都可以正常工作。
1个回答

6
也许这会奏效。
row.AcceptChanges(); // sets DataRowState.Unchanged
row.SetAdded();

终于能够将此标记为答案了。不知道为什么每次尝试时都会报错。谢谢。 - Jake

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接