• 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对象访问数据库。

    //省略获得连接对象的代码
     ……
    //创建DataAdapter
    string sql= " select * from user ";
    SqlDataAdapter  sda=new SqlDataAdapter(sql, conn);
    // 创建并填充Dataset
    DataSet 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创建了一个副本,用宋避免误操作。

  • 相关阅读:
    php获取文件后缀名格式
    猴子分桃问题2
    猴子吃桃问题1
    判断字符串中字母出现的次数用分割法
    成绩表
    二维数组所有元素求和输出
    冒泡排序
    1.8作业
    1.8
    1.6
  • 原文地址:https://www.cnblogs.com/zi-xing/p/4058529.html
Copyright © 2020-2023  润新知