首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

ADO.NET之Adapter对象的Update方法疑问

2012-01-20 
ADO.NET之Adapter对象的Update方法疑问求助。各位都知道ADO.NET中, 一个SqlAdapter对象sqladapter0成功执行

ADO.NET之Adapter对象的Update方法疑问求助。
各位都知道ADO.NET中, 一个SqlAdapter对象sqladapter0成功执行Fill()方法而填充了一个DataSet对象dataSet0后, sqladapter0对象可以使用Update()方法将dataSet0中所做的修改完美地提交到SQL Server数据库.

我虽然看了半天MSDN但是依然解决不了一个疑问:
SqlAdapter对象的SelectCommand属性, DeleteCommand属性, InsertCommand属性, 以及UpdateCommand属性, 它们各自的Connection和CommandText都是可以修改的, 不知道修改了之后还能否正确地执行Update()方法.

例如, 新声明两个SqlAdapter对象sqlAdapter1和sqlAdapter2, 将它们的SelectCommand属性的Connection设为相同, 而CommandText不同. 执行sqlAdapter1的Fill()方法填充dataSet1, 对dataSet1进行修改, 然后用sqlAdapter2来执行Update(dataSet1), 这样行么? 为什么呢?

[解决办法]

C# code
DataSet ds1 = new DataSet();DataSet ds2 = new DataSet();SqlDataAdapter da1 = new SqlDataAdapter();da1.SelectCommand = new SqlCommand("select * from Member", con);SqlDataAdapter da2 = new SqlDataAdapter();da2.SelectCommand = new SqlCommand("select * from Member1", con);da1.Fill(ds1);da2.Fill(ds2);
[解决办法]
”更改DataSet的记录都保存在DataSet对象自己内部“
这个是正确的。每个DataRow的RowState记录状态,有几种version(Original, Current, Proposed和Default) 可以通过Item[String, DataRowVersion]来取得。
[解决办法]
探讨
引用:

”更改DataSet的记录都保存在DataSet对象自己内部“
这个是正确的。每个DataRow的RowState记录状态,有几种version(Original, Current, Proposed和Default) 可以通过Item[String, DataRowVersion]来取得。

是啊, 但是DataSet会不会保存数据库连接……

热点排行