C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter的区别
ExecuteNonQuery()执行命令对象的SQL语句,返回一个int 类型的变量,返回数据库操作之后影响的行数。适合用来验证对数据库进行增删改的情况。
2、ExecuteScalar()也可以执行sql语句。如果SQL语句是Select查询,则仅仅返回查询结果集中第一行第一列,而忽略其他行和列。如果SQL语句不是Select查询,则这个返回结果没任何作用。(建议查询数据库时使用) 由于不知道sql语句到底是什么样的结构(有可能是int,有可能是Char等其它,)所以ExecuteScalar()方法返回一个最基本的类型Object,这个类型是所有类型的基类,可以转换为任意类型,所以所以用前需强制转换。一般用在插入语句后加上一个 select @@identity; 返回插入ID
3.ExecuteReader方法存在的目的:尽可能快的对数据库进行查询并得到结果;ExecuteReader 返回一个DataReader对象,如果在SqlCommand对象中调用,则返回SqlDataReader,如果在OledbCommand对象中调用,返回的是OledbDataReader,可以调用DataReader的方法和属性迭代处理结果集。
4.qlDataReader与SqlDataAdapter+DataSet的区别
一,SqlDataReader //基于连接,只读访问 适合数据量较小。(连接模式)
SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点 (断开模式)
二,SqlDataAdapter 读取数据后将数据集放入DataSet ,DataSet 的数据存在本地客服机内存。
三,SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到。
SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作
原博客地址:https://www.cnblogs.com/wangjian920110/p/5456369.html
C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter的区别的更多相关文章
- ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间的区别
本文来自:http://www.cnblogs.com/zhouxiaxue/archive/2006/05/12/398266.html http://www.cnblogs.com/yaoxc/a ...
- C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter应该怎么用?
C#中ExecuteReader.ExecuteNonQuery.ExecuteScalar.SqlDataReader.SqlDataAdapter应该怎么用? (2013-10-16 13:21: ...
- ASP.NET中的ExecuteNonQuery()方法的用法
下面我将详细讲解在机房收费系统D层中如何对数据库的增加.删除.修改,最后再来总结一下 ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的用法: 一.增.删 ...
- SqlCommand和SqlDataAdapter的区别
SqlDataAdapter对象 一.特点介绍1.表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接.2.在SqlDataAdapter和DataSet之 ...
- C# SqlCommand和SqlDataAdapter的区别
SqlCommand和SqlDataAdapter的区别 SqlCommand对应DateReader SqlDataAdapter对应DataSet SqlCommand的执行效率比较高,但 ...
- [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...
- angularjs中provider,factory,service的区别和用法
angularjs中provider,factory,service的区别和用法 都能提供service,但是又有差别 service 第一次被注入时实例化,只实例化一次,整个应用的生命周期中是个单例 ...
- 正则表达式中的exec和match方法的区别
正则表达式中的exec和match方法的区别 字符串的正则方法有:match().replace().search().split() 正则对象的方法有:exec().test() 1.match m ...
- JOIN关联表中ON,WHERE后面跟条件的区别
select * from td left join (select case_id as sup_case_id , count(*) supervise_number from td_kcdc ...
- Java中public,private,protected,和默认的区别
Java中public,private,protected,和默认的区别 1.private修饰词,表示成员是私有的,只有自身可以访问: 2.protected,表示受保护权限,体现在继承,即子类可以 ...
随机推荐
- linux信号量初识
以下程序使用信号量控制程序运行 "信号"量 "变"量 /*信号量(semaphore)是变量,是一种特殊的变量.它仅取正值. 对信息号量的操作只有2种:等待(w ...
- 2018.07.22 codeforces750E(线段树维护状态转移)
传送门 给出一个数字字串,给出若干个询问,询问在字串的一段区间保证出现2017" role="presentation" style="position: re ...
- Spring boot 出现的时间
Spring 4.0 ~ 4.3 不管商业操作如何,Spring还是继续发展, 2013年12月, Spring4.0 发布,这个版本开始支持JDK8 , 甚至比JDK8 的GA版本还要早3个月! 2 ...
- 42 Can stress be Avoided ? 压力能够回避吗 ?
Can stress be Avoided ? 压力能够回避吗 ? ①In the 1960s, medical researchers Thomas Holmes and Richard Rahe ...
- Django介绍(1)
https://www.cnblogs.com/yuanchenqi/articles/6083427.html 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构, ...
- [GO]小技巧,如何实现一个链式操作
package main import "fmt" type Stu struct { Name string Age int } func (p *Stu) SetName(na ...
- SQL之经典SQL语句大全
经典SQL语句大全 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql serv ...
- python 实现排列组合
1.python语言简单.方便,其内部可以快速实现排列组合算法,下面做简单介绍. 2.一个列表数据任意组合 2.1主要是利用自带的库 #_*_ coding:utf-8 _*_ #__author__ ...
- csdn获得积分
常规方式获取可用分 1.每天只要回复就可以获得10个可用分.注:回复后的第2天发放. 2.每周回复量大于10个帖子,将获得30可用分.注:下一周的周二发放. 3.本周获得技术专家分30分以上,将获得4 ...
- Freetype字体引擎分析与指南
Freetype字体引擎分析与指南,很不错的一篇教程,推荐!!