首页 > 代码库 > C#与数据库访问技术总结(十七)
C#与数据库访问技术总结(十七)
使用DataSet对象访问数据库
当对DataSet对象进行操作时,DataSet对象会产生副本,所以对DataSet里的数据进行编辑操作不会直接对数据库产生影响,而是将DataRow的状态设置为added、deleted或changed,最终的更新数据源动作将通过DataAdapter对象的update方法来完成。
DataSet对象的常用方法如下。
- void AcceptChanges():该方法用来提交DataSet里的数据变化。
- void clear():该方法用来清空DataSet里的内容。
- DataSet copy():该方法把DataSet的内容复制到其他DataSet中。
- DataSet GetChanges():该方法用来获得在DataSet里已经被更改后的数据行,并把这些行填充到Dataset里返回。
- bool HasChanges():如果DataSet在创建后或执行AcceptChanges后,其中的数据没有发生变化,返回True,否则返回False。
- void RejectChanges():该方法撤销DataSet自从创建或调用AcceptChanges方法后的所有变化。
DataSet对象一般是和DataAdapter对象配合使用。
下面的代码演示了如何综合使用DataSet和DataAdapter对象访问数据库。
//省略获得连接对象的代码 ……//创建DataAdapterstring sql= " select * from user ";SqlDataAdapter sda=new SqlDataAdapter(sql, conn);// 创建并填充DatasetDataSet ds=new DataSet();sda.fill(ds, "user");//给Dataset创建一个副本,操作对副本进行,以免因误操作而破坏数据DataSet dsCopy=ds.Copy();DataTable dt=ds.Table["user"];//对DataTable中的DataRow和DataColumn对象进行操作……//最后将更新提交到数据库中sda.update(ds, "user");
上述代码的主要业务流程如下。
(1)创建DataAdapter和DataSet对象,并用DataAdapter的SQL语句生成的表填充到 DataSet的DataTable中。
(2)使用DataTable对表进行操作,例如做增、删、改等动作。
(3)使用DataAdapter的update语句将更新后的数据提交到数据库中。
另外,上述代码在操作DataSet前,为DataSet创建了一个副本,用宋避免误操作。
C#与数据库访问技术总结(十七)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。