DataSet中datarowstate与Package包的增,删,改的关系

DataRowState值

Added:该行已作为一项添加到 DataRowCollection。(处于这种状态的行不具有相应的初始版本,因为在最近一次调用 AcceptChanges 方法时它尚不存在)。

Deleted:已使用 DataRow 对象的 DataRow.Delete 方法删除该行。

Detached:已创建该行,但它不是任何 DataRowCollection 的一部分。在 DataRow 对象刚创建之后但在添加到集合之前,或者如果该对象已从集合中移除,它将处于这种状态。

Modified:该行中的列值已通过某种方式更改。

Unchanged:自上一次调用 AcceptChanges 之后,该行未更改。------------------------------------------------------

Added对应包中的insert语句Deleted对应包中的delete语句Modified对应包中的update语句当dataset中某行被删除后,对应的datarowstate为deleted,此时,该行存在(数据已经被删除),但无法访问(常规方法),若访问该行将会抛出类似“被删除的行无法访问”异常。当然了,dataset中的行数肯定就包含删除的行了。故调用package包的时候,该行将会调用包中delete的语句,这样,数据库表中对应的该行就被删除了。值得注意的是:当DataSet中的数据在第一次被装载之后(如调用executequery方法),再次同过添加一条数据,再把该条数据删除了,这对于DataSet是没有任何影响的,没有留下任何痕迹,即不会有之前所述的有对应的datarowstate为deleted的状况。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭