ADO.NET——DataAdapter对象

DataAdapter对象

来源以及作用:前面我所介绍的ADO.NET对象中,例如Connection对象,Command对象以及DataReader对象,这些对象均属于Data Provider的一部分,而且都是基于连接的。如果,每次我们检索数据库中的表或者行都需要连接一次数据库,那么性能和效率是十分低下的。实际上,ADO.NET提供了基于非连接的核心组件:DataSet。那么存储的数据集合是从哪里来呢?ADO.NET就为DataSet提供了中介:DataApdater数据适配器。

描述:DataAdapter对象提供连接 DataSet对象和数据源的桥梁,DataAdapter 使用 Command 对象在数据源中执行SQL命令以向DataSet中加载数据,并将对DataSet中数据的更改协调回数据源。

工作原理:DataApapter本质上就是一个数据调配器。当我们需要查询数据时,它从数据库检索数据,并填充要本地的DataSet或者DataTable中;当我需要更新数据库时,它将本地内存的数据填充到数据库,并执行更新命令。

功能:DataAdapter是最复杂的ADO.NET组件,是因为它是架构在所有其他DataProvider对象之上的。Connection对象、DataReader对象,Paramter对象以及Command对象,都尽可能的为它服务。总体来说,DataAdapter主要有三大功能:

   1、数据检索:尽可能用最简单的方法填充数据源到本地DataSet或者DataTable中。细致的说,DataAdapter用一个DataReader实例来检索数据,因此你必须提供一个Select查询语句以及一个连接字符串。

   2、数据更新:将本地修改的数据返回给外部的数据源,从数据库查询数据时,我们仅仅只需要一条基本的Select语句,而更新数据库则需要区分Insert,Update,Delete语句。

   3、表或列名映射:维护本地DataSet表名和列名与外部数据源表名与列名的映射关系。

属性:

1、SelectCommand对象:引用从数据源中检索的Command对象。

2、UpdateCommand:引用将修改的行从DataSet写入数据源的Command对象。

3、InsertCommand:引用将插入的行从DataSet写入数据源的Command对象

4、DeleteCommand:引用从数据源中删除行的Command对象。

方法:

1、Fill:使用DataAdapter的这个方法,从数据源增加或刷新行,并将这些行放到DataSet表中。Fill方法调用SelectCommand属性所指定的SELECT语句。

2、Update:使用DataAdapter对象的这个方法,将DataSet表的更改传送到相应的数据源中。该方法为DataSet的DataTable中每一指定的行调用相应的INSERT、UPDATE或DELETE命令。

应用举例

public void SqlAdapterDemo(string connStr)
{
  SqlConnection conn = new SqlConnection(connStr);   //创建连接对象

  SqlCommand cmd = conn.CreateCommand();             //创建sql命令对象
  cmd.CommandType = CommandType.Text;
  cmd.CommandText = "select * from products = @ID";  //sql语句

  cmd.Parameters.Add("@ID", SqlDbType.Int);          <span style="font-family:KaiTi_GB2312;">//添加参数</span>
  cmd.Parameters["@ID"].Value = 1;                   //给参数sql语句的参数赋值

  SqlDataAdapter adapter = new SqlDataAdapter();     //构造SqlDataAdapter
  adapter.SelectCommand = cmd;                       <span style="color:#FF0000;">//与sql命令对象绑定,这个必不可少</span>

  DataSet ds = new DataSet();
  adapter.Fill(ds);                                  //填充数据。
}

感觉DataAdapter对象好高大上啊,它的使用必须以前面所讲的Command对象和Connection对象为基础,驾驭着它们两个共同驰骋“数据源世界。”

时间: 2024-10-24 12:11:09

ADO.NET——DataAdapter对象的相关文章

C#之数据适配器:DataAdapter对象

在ADO.NET中,能够用于执行命令操作的不但有有Command对象,还有DataAdapter对象,DataAdapter对象执行查询的返回数据将存储在DataSet对象中. DataAdapter对象概述 DataAdapter对象是DataSet和数据之间的桥梁,可以建立并初始化数据表对数据源执行SQL指令,与DataSet对象结合,提供DataSet对象存储数据,可视为DataSet对象的操作核心. 在使用DataAdapter对象时,只需要设置表示SQL命令和数据库连接的两个参数,就可

ADO.NET五大对象理论和实践

一.ADO.NET五大对象理论 1. Connection:与数据源建立连接. 2. Command:对数据源执行SQL命令并返回结果. 3. DataReader:读取数据源的数据,只允许对将数据源以只读.顺向的方式查看其中所存储的数据.其常用于检索大量数据,DataReader对象还是一种非常节省资源的数据对象. 4. DataAdapter:对数据源执行操作并返回结果,在DataSet与数据源之间建立通信,将数据源中的数据写入DataSet中,或根据DataSet中的数据绑定数据源. 5.

ADO.NET常用对象

一.Connection对象 Connection对象也称为数据库连接对象,Connection对象的功能是负责对数据源的连接.所有Connection对象的基类都是DbConnection类. Connection对象有两个重要属性: (1)ConnectionString:表示用于打开 SQL Server 数据库的字符串: (2)State:表示 Connection 的状态,有Closed和Open两种状态. Connection对象有两个重要方法: (1)Open()方法:指示打开数据

ADO.NET五大对象详解

Connection 连接对象Command 命令对象,指示要执行的命令和存储过程! DataReader是一个向前的只读的数据流. DataAdapter是功能强大的适配合器,支持增删改查的功能 DataSet是一个数据级对象,相当于内存中的一张表或多张表!(asp中是recordset) 1 我要把河那边的物品运过来,我先修桥(DataConnection),2 然后就要制作命令计划,是运过去(insert)物品还是运过来(Select)物品或者是销毁物品(delete)等等.(这个命令计划

DataAdapter对象

DataAdapter对象在物理数据库表和内存数据表(结果集)之间起着桥梁的作用.它通常与DataTable对象或DataSet对象配合来实现对数据库的操作. DataAdapter对象是一个双向通道,用来把数据从数据源中读到一个内存表中,以及把内存中的数据写回到一个数据源中. DataAdapter对象可以使用Connection对象连接到数据源,并使用Command对象从数据源检索数据以及将更改写回数据源. 如果所连接的是SQL Server数据库,则需要将SqlDataAdapter与关联

C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例

DataAdapter对象代码示例 下面的代码将说明如何利用DataAdapter对象填充DataSet对象. private static string strConnect=" data source=localhost;uid=sa;pwd=aspent;database=LOGINDB" string sqlstr=" select * from USER "; //利用构造函数,创建DataAdapter SqlDataAdapter da=new Sql

蜗牛—C#程设之DataAdapter对象

使用DataAdapter和DataSet来读取数据表JBQK中的数据 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace shiyan11 { class Program { static void Main(string[] args) { string st

DataAdapter对象(数据适配器)

DataAdapter与DataSet紧密配合以创建数据的内存表示. [DataReader与DataAdapter的区别]: 主要在于他们与数据库的连接方式不同: DataReader对象通过打开一个连接,然后执行SQL命令,再检索数据库中的数据,当不再进行操作时关闭连接: DataAdapter对象仅仅在需要填充DataSet对象时才使用数据连接,完成操作后将释放所有的服务器资源. DataAdapter对象用于填充DataSet和更新数据库,可以将它看作连接DataSet与数据库的桥梁,通

C#与数据库访问技术总结(十四)之DataAdapter对象

DataAdapter对象 DataAdapter对象主要用来承接Connection和DataSet对象. DataSet对象只关心访问操作数据,而不关心自身包含的数据信息来自哪个Connection连接到的数据源, 而Connection对象只负责数据库连接而不关心结果集的表示. 所以,在ASP.NET的架构中使用DataAdapter对象来连接Connection和DataSet对象. 另外,DataAdapter对象能根据数据库里的表的字段结构,动态地塑造DataSet对象的数据结构.