偶然间发现SqlDataAdapter对象包含了一个名为FillLoadOption属性,在看了一些帮助文档后感觉在理解上出现了一些非常模糊地地方。引用MSDN帮助文档的内容:
获取或设置 LoadOption,后者确定适配器如何从 DbDataReader 中填充 DataTable
并且在默认情形下,LoadOpion枚举值为OverwriteChanges。传入此行的值将同时写入每列数据的当前值和原始值版本。 在以上的描述中我该如何去理解?假定在填充前DataTable中包含了一些数据源的数据,但是经过再次将DataTable作为参数传递给SqlDataAdapter对象的话,如果其中有部分数据与查询结果中的数据相匹配的话。这一默认选项,对于SqlDataAdapter对象起到了怎样的作用.难道DataTable对象将放弃旧值吗?
获取或设置 LoadOption,后者确定适配器如何从 DbDataReader 中填充 DataTable
并且在默认情形下,LoadOpion枚举值为OverwriteChanges。传入此行的值将同时写入每列数据的当前值和原始值版本。 在以上的描述中我该如何去理解?假定在填充前DataTable中包含了一些数据源的数据,但是经过再次将DataTable作为参数传递给SqlDataAdapter对象的话,如果其中有部分数据与查询结果中的数据相匹配的话。这一默认选项,对于SqlDataAdapter对象起到了怎样的作用.难道DataTable对象将放弃旧值吗?
upsert这一术语是update和insert的复合词,大致相当于“如果该行存在,就将这一操作看作更新;如果该行不存在,就将其看作一次插入”。如果将FillLoadOption设置为Upsert,将会把SqlDataAdapter获取的值指定给已有DataRows中的“当前值”。如果在DataTable中没有相应的已存在的DataRow,则新行将被标记为挂起插入
我在问题中提到...
其实 MSDN 已经解释的很清楚了`
在怎么说也是MSDN的话
谢谢你们了。
但是问题依旧,没有得到解决。
MSDN上的帮助文档我已经看过了,没看懂所以才来这里问下大家。
但是两天来只有这么点结果,实在是可怜!
是不是因为分数少?
DataRowVersion都有几个枚举成员,你可以去这件搜索下.