如何显式地更改ADO的RowState ?净我们
本文关键字:RowState 我们 ADO 何显式 | 更新日期: 2023-09-27 18:04:41
给定一个ADO。Net DataRow
,如何将行RowState从Added
更改为Modified
或Deleted
?
我尝试直接设置属性:
myDataSet.Tables[0].Rows[0].RowState = DataViewRowState.ModifiedOriginal;
导致编译器发出以下错误消息:
error CS0200: Property or indexer 'DataRow.RowState' cannot be assigned to -- it is read only
虽然有显式设置RowState
属性的方法,如SetAdded
, SetModified
和Delete
,但我认为最好了解自动发生的确切情况。
如果您需要将RowState
设置为不变,则调用行上的AcceptChanges
并从那里开始。如果您需要它处于已修改状态,而当前不是,那么您应该在逻辑中的其他地方调用DataRow
或DataTable
上的AcceptChanges
-这样当您通过以下代码对行进行修改时:
row["field"] = "New Value";
它将RowState
更改为Modified
,但现在它也有一个基线,Original
行状态,因为您之前已经接受了更改。
我这里的观点是,是的,您可以使用这些方法中的一些显式设置RowState
,但我觉得您可能只需要使用ADO。