sqlDataAdapter和SqlCommand的区别
因为DataSet是离线的,所以SqlDataAdapter这个对象是连接DataSet和数据库的桥梁,所有对DataSet的操作(填充,更新等)都要通过他
ado.net数据访问有两种方式:
1.离线--通过DataSet,然后离线增,删,改,最后通过SqlDataAdapter解 析到数据库中
2.直接对数据库操作SqlCommand (Update,Insert,Delete)
SqlCommand就是是命令了,可以用它来执行SQL命令
SqlDataAdapter就是数据适配器了,它是用于在数据源和数据集之间通讯的一组对象
SqlCommand对应DateReader
SqlDataAdapter对应DataSet
SqlCommand是C#中与Sql数据库打交道的对象,几乎所有的Sql数据库操作都需要使用该对象来实现,但其功能有限,只是简单的实现了与Sql数据库的接口而已;
SqlDataAdapter是一个功能强大的SqL数据适配器,也用于操作Sql数据库,但它的操作都要通过SqlCommand来实现(有一个属性对象的类型就是SqlCommand),也就是说,可以把SqlDataAdapter看作是一个把一些特殊功能封装了、增强了的SqlCommand!
SqlCommand与ADO时代的Command一样,SqlDataAdapter则是ADO.NET中的新事物,它配合DataSet来使用。其实,DataSet就像是驻留在内存中的小数据库,在DataSet中可以有多张DataTable,这些DataTable之间可以相互关联,就像在数据库中表关联一样!SqlDataAdapter的作用就是将数据从数据库中提取出来,放在DataSet中,当DataSet中的数据发生变化时,SqlDataAdapter再将数据库中的数据更新,以保证数据库中的数据和DataSet中的数据是一致的!
用微软顾问的话讲:DataAdapter就像是一把铁锹,它负责把数据从数据库铲到DataSet中,或者将数据从DataSet铲到数据库中!
-----------------------------------------
SqlDataReader
只能顺序读,不能修改数据库
在程序没执行完之前一直保持连接
一次读出,可以放在DATASET里的。可以用来修改数据库
sqlDataAdapter和SqlCommand的区别的更多相关文章
- SqlDataReader、SqlDataAdapter與SqlCommand的 区别
1.SqlDataReader,在线应用,需要conn.open(),使用完之后要关闭. SqlConnection conn = new SqlConnection(connStr); //conn ...
- C#中的一些复习。
摘自http://www.cnblogs.com/yuchengping/p/3151537.html 等日后自己来完善. 基本概念 1..NET是平台,C#是.NET上的一门语言. 2.C#的异常处 ...
- SqlCommand和SqlDataAdapter的区别
SqlDataAdapter对象 一.特点介绍1.表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接.2.在SqlDataAdapter和DataSet之 ...
- C# SqlCommand和SqlDataAdapter的区别
SqlCommand和SqlDataAdapter的区别 SqlCommand对应DateReader SqlDataAdapter对应DataSet SqlCommand的执行效率比较高,但 ...
- SqlDataAdapter用法
SqlDataAdapter和SqlCommand区别: SqlCommand就是是命令了,可以用它来执行SQL命令: SqlDataAdapter就是数据适配器了,它是用于在数据源和数据集之间通讯的 ...
- C# ADO.NET SqlDataAdapter中传递参数
ADO.NET的SQL语句中,往往不是静态的语句,而是需要接受传递过来的参数,比如典型的登录功能,需要查找指定的用户名: string sqlQuery = "SELECT * FROM W ...
- 数据库之SqlDataAdapter
SqlDataAdapter 类 表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接.无法继承此类. 命名空间:System.Data.SqlClient ...
- SqlBulkCopy(批量复制)使用方法 && SqlDataAdapter Update
SqlBulkCopy提供了一种将数据复制到Sql Server数据库表中高性能的方法.SqlBulkCopy 包含一个方法 WriteToServer,它用来从数据的源复制数据到数据的目的地. Wr ...
- 一个有趣的问题, 你知道SqlDataAdapter中的Fill是怎么实现的吗
一:背景 1. 讲故事 最近因为各方面原因换了一份工作,去了一家主营物联柜的公司,有意思的是物联柜上的终端是用 wpf 写的,代码也算是年久失修,感觉技术债还是蛮重的,前几天在调试一个bug的时候,看 ...
随机推荐
- RHEL 7.6 安装 Oracle 18c RAC
RHEL 7.6 安装 Oracle 18c RAC 第一部分 安装规划 虚拟环境 VirtualBox 6.0 OS 版本 Red Hat Enterprise Linux Server relea ...
- package.json常用的字段
package.json中5个字段: name: 包名 今后下载时输入名称 (注意:要与下载的包名不一样) version:版本号 x.x.x 例如 1.2.3 1 大版本:当这个包有巨大内容变化时( ...
- jQuery插件,判断鼠标的移入移出方向
今天用jQuery封装了一个简单的插件,判断鼠标的移入移出方向,以后的项目中可能还会遇到这样一个简单的效果,就记录下来吧! 先看结构和样式: <!DOCTYPE html> <htm ...
- LZO压缩算法64位崩溃问题
*** vs2013 64位调用LZO算法失败,原因: vs2013 long 类型4位 指针为8位. 解决: 将static lzo_bool basic_ptr_check(void)函数中,指针 ...
- winform 自定义控件:半透明Loading控件
winform 自定义控件:半透明Loading控件 by wgscd date:2015-05-05 效果: using System;using System.Drawing;using Sys ...
- RMAN 与control文件的关系
试验: SQL> oradebug setmypid;Statement processed.SQL> 接着,进行backup: RMAN> list backup; using t ...
- python之打包、发布模块
一.python中针对于写好的模块,并且比人也可以使用改模块,这样就可以以同意的打出来,让别人安装或者赋值过后可以更好的使用以及集成. 二.最近在学习python所以这里主要是记录一下python的打 ...
- Spring的IOC理解(转载)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- JZOJ5371 组合数问题
Description 定义"组合数"S(n,m)代表将n 个不同的元素拆分成m 个非空集合的方案数. 举个例子,将{1,2,3}拆分成2 个集合有({1},{2,3}),({2},{1,3}),({ ...
- mongodb原生node驱动
写在前面 最近读<node.js学习指南>,对于mongodb没有介绍太多的工作原理,但是对于一个前端开发者,即使你还没有用过这种数据库也可以让你很好的理解和使用 一本非常好的 ...