设为首页 加入收藏

TOP

ADO.NET――DataAdapter对象
2015-07-24 09:34:55 来源: 作者: 【 】 浏览:1
Tags: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);          //添加参数
  cmd.Parameters["@ID"].Value = 1;                   //给参数sql语句的参数赋值

  SqlDataAdapter adapter = new SqlDataAdapter();     //构造SqlDataAdapter
  adapter.SelectCommand = cmd;                       //与sql命令对象绑定,这个必不可少

  DataSet ds = new DataSet();
  adapter.Fill(ds);                                  //填充数据。
}
感觉DataAdapter对象好高大上啊,它的使用必须以前面所讲的Command对象和Connection对象为基础,驾驭着它们两个共同驰骋“数据源世界。”

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数据运营报表系统思考一二 下一篇数据清洗小记:判断是否为数字函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何从内核协议栈到 (2025-12-27 03:19:09)
·什么是网络协议?有哪 (2025-12-27 03:19:06)
·TCP/ IP协议有哪些 (2025-12-27 03:19:03)
·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)