代码改变世界

在DataRow的不同 RowState下取不同 RowVersion值的情况

2008-10-11 01:14  每天看看  阅读(1447)  评论(0编辑  收藏  举报

1)什么是DataRow's RowState and RowVersion?
      DataRow's RowState是数据行的状态,RowVersion是数据行的版本。
   RowState and Row Version are both enum object.
   The codesnap is the following detail:


[Flags]
public enum DataRowState
{
    Added 
= 4,
    Deleted 
= 8,
    Detached 
= 1,
    Modified 
= 0x10,
    Unchanged 
= 2
}

 


public enum DataRowVersion
{
    Current 
= 0x200,
    Default 
= 0x600,
    Original 
= 0x100,
    Proposed 
= 0x400
}

 

2)在DataRow的不同RowState下取不同RowVersion的值会是怎样的哪,我们通过下面的代码进行测试:

Code

 

3) 测试结果:

4)结果分析:

DataRow在Deleted RowState状态下只有Original DataRowVersion的值可以访问,访问其他版本的的值都会引发异常。

只有在Detached状态下可以访问Proposed和Default版本的值,其他状态下访问Proposed的值将引发异常。

Current版本的值在Deleted和Detached状态下访问会引发异常。

5)相关链接

关于DataRow的RowState和RowVersion