ADO.NET——DataAdapter对象

2024-08-27 20:58
文章标签 对象 net ado dataadapter

本文主要是介绍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();     //构造SqlDataAdapteradapter.SelectCommand = cmd;                       <span style="color:#FF0000;">//与sql命令对象绑定,这个必不可少</span>DataSet ds = new DataSet();adapter.Fill(ds);                                  //填充数据。
}
    感觉 DataAdapter对象好高大上啊,它的使用必须以前面所讲的Command对象和Connection对象为基础,驾驭着它们两个共同驰骋“数据源世界。”
  

这篇关于ADO.NET——DataAdapter对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112765

相关文章

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

.NET利用C#字节流动态操作Excel文件

《.NET利用C#字节流动态操作Excel文件》在.NET开发中,通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据,本文将演示如何在.NET平台使用C#通过字节流创建,读取,编辑及保... 目录用C#创建并保存Excel工作簿为字节流用C#通过字节流直接读取Excel文件数据用C#通过字节

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像