DataSet 操作数据库

DataSet 操作数据库

    DataSet 类是 ADO.NET 中最核心的成员之一,也是各种开发基于.Net 平台程序语言开发数据库应用程序最常接触的类。在从数据库完成数据抽取后,DataSet 就是数据的存放地,它是各种数据源中的数据在计算机内存中映射成的缓存, 所以在脱机状态下,也能对 DataSet 中的数据表进行操作。

1、创建一个 DataSet 对象

a) 可以指定一个数据集的名称

b) 如果不指定名称,则默认被设为"NewDataSet"

DataSet 数据集对象 = new DataSet("数据集的名称字符串");

2、使用 DataAdapter 对象填充数据集

(1)创建 SqlDataAdapter 对象

SqlDataAdapter 对象名 = new SqlDataAdapter(查询用 sql 语句, 数据库连接);

(2)填充 DataSet

DataAdapter 对象. Fill(数据集对象, "数据表名称字符串");

(3)具体例子

 
  1. string cnnstring = "Data Source=HP;Initial Catalog=Xk;Integrated Security=True";

  2.  
  3. SqlConnection sqlcnn = new SqlConnection(cnnstring);

  4.  
  5. string SQLsting = "select * from student ";

  6.  
  7. da1 = new SqlDataAdapter(SQLsting, cnnstring);

  8.  
  9. ds1= new DataSet();

  10.  
  11. da1.Fill(ds1, "student");

注:sqlcnn 对象不需要 open 打开,直接由 da1.Fill 方法填充。

3、DataSet 数据集数据的编辑(增删改)

DataSet 数据集一般是与数据控件绑定使用,来达到显示、修改、插入、删除数据记录。但只是对 DataSet 数据集做了插、删、改。并没有对数据库中的数据进行插、删、改,可以通过 DataAdapter 对象操作 DataSet 实现更新数据库。

DataAdapter 是通过其 Update 方法实现以 DataSet 中数据来更新数据库的。当 DataSet 实例中包含数据发生更改后,此时调用 Update 方法,DataAdapter 将分析已作出的更改并执行相应的命令(INSERT、UPDATE 或 DELETE),并以此命令来更新数据库中的数据。如果 DataSet 中的 DataTable 是映射到单个数据库表或从单个数据库表生成,则可以利用 CommandBuilder 对象自动生成 DataAdapter 的 DeleteCommand、InsertCommand 和 UpdateCommand。

 
  1. SqlCommandBuilder mycbd = new SqlCommandBuilder(da1); //自动生成插删改命令

  2.  
  3. da1.Update(ds1.Tables["student"]);

但上述命令只对单表数据集更新方便,对多表数据集不能操作。对于多表数据集的插、删、改操作,用 sqlcommand类来完成(见二、Sqlcommand 类操作数据库。)

4、DataSet 结构

DataSet 操作数据库_第1张图片

你可能感兴趣的:(C#与数据库学习笔记)