1、ExecuteNonQuery方法。
该方法执行更新操作,即与UPDATE、INSERT、DELETE等语句有关的操作,在这种情况下,返回值是命令影响的行数。对其他语句,如SET或CREATE,则返回-1,如果发生回滚,返回值也是-1。

2、ExcuteReader方法。
它与查询命令一起使用,返回一个数据阅读器对象SqlDataReader类的一个实例。该方法执行更新语句,执行成功后,不会返回任何受影响的数据行。

3、ExecuteScalar方法。
如果只想检索数据库信息中的已个值,而不需要返回表或数据流形式的数据库信息。例如,只需返回COUNT(*)、SUM(Price)或AVG(Quantity)等聚合函数的结果,该方法适合。如果在一个常规的查询语句中调用该方法,则只读取第一行第一列的值,而丢弃所有其他值

ExecuteReader:可以读一个表的记录,只能读不能写

ExecuteScalar:只能读一条记录,一般用来判断数据库是否有数据等,只能读不能写

ExecuteNonQuery:可以写以可以读,

首先,我们知道这三个东东应该是ADO.NET中对数据库中操作的CMD,我们知道,如果我们要进行一个网让建设,必然在这个过程中,我们一定要进行与数据库的交互,我们要不断地进行数据库的读写,那么ExecuteNonQuery(),ExecuteReader()与ExecuteScalar()就是我们在对数据库进行操作时要用到的,下面我来依次认识一下:

ExecuteNonQuery():这个东东可以让我们在更新数据库时不使用 DataSet 而使用 ExecuteNonQuery 更改数据库中的数据。通过执行 UPDATE、INSERT 或 DELETE SQL语句就可以达到更改数据库中的数据目的。即使 ExecuteNonQuery 不返回任何行,映射到参数的输出参数或返回值仍然使用数据填充。但对于 UPDATE、INSERT 和 DELETE SQL语句,返回的值就是受ExecuteNonQuery()命令影响的行数。对其它类型的语句以及回退来说,返回的值都是 -1。

ExecuteReader():我们通常在asp中用Recordset对象来从数据库中读出数据,并且用循环语句来一个一个的读出数据,但在我们的ADO.NET中,我们就是用DataReader 对象的ExecuteReader()方法来进行数据的列出,并且我们用这个ExecuteReader()方法来显示数据是最快的一种方法,因为当我们在用ExecuteReader()方法中的DataReader 对象来进行数据的在网站建设中显示时,他只可以一条一条向前读,不能返回,也就是像ASP中的ADO方法中的Recordset 对象的Movenext一样,他没有move -1这样的返回方法。

ExecuteScalar():这种CMD相当于我们在ADO中用SQL语句中使用一些计算函数的功能一样,在这里我们只是返回所有影响的行数的第一行第一列数据,这样也就是相当于专业为我们的如:select count(*) from database的功能一样,我们可以用

string sql="select * from  database"

SqlCommand cmd=SqlCommand(sql,conn)

int i=(int)cmd.ExecuteScalar()

这样我们的局部变更i的值就是与上面我的功能一样.

最后值得一说的是:这是出自我平时所用的时候的一些认识:那就是如果我们在进行数据操作时,如果没有数据可操作,那么我们只能使用ExecuteReader()这个CMD,而executeNoeQuery()与Executescalar()如果在没有数据的时候使用时,就会出错“对像没有实例化”的错误。所以我们在判断是否有数据时,只可以用ExecuteReader()中的REad()方法来检测。

ADO.NET中COMMAND对象的ExecuteNonQuery、ExcuteReader和ExecuteScalar方法的更多相关文章

  1. PHP中把对象转数组的几个方法

    PHP中把对象转数组的几个方法: 1. //PHP stdClass Object转array function object_array($array) { if(is_object($array) ...

  2. 问题:ExecuteNonQuery 与 ExecuteScalar 结果: ExecuteNonQuery方法和ExecuteScalar方法的区别

    ExecuteNonQuery方法和ExecuteScalar方法的区别 ----ExecuteNonQuery():执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进 ...

  3. 温故而后知新——对ado.net中常用对象的一些解释

    在使用ado.net连接数据库获取数据,一般的步骤是: 1.设置好web.config    //用来设置服务器数据库的地址以及登录名密码 2.创建Connection对象    //用来创建访问数据 ...

  4. 关于SqlCommand对象的2个方法:ExecuteNonQuery 方法和ExecuteScalar方法

    1.SqlCommand.ExecuteNonQuery 方法 对连接执行 Transact-SQL 语句并返回受影响的行数. 语法:public override int ExecuteNonQue ...

  5. ADO.NET中主要对象

    ADO.NET是什么? ADO.NET是.Net平台提供和数据库交互的类库集,我们可以通过它对SQLSERVER,XML,Oracle等这样的数据源进行访问. 应用程序可以使用ADO.NET链接到数据 ...

  6. JS中Date对象getYear()方法和getFullYear()方法区别

    释义 JavaScript getFullYear() 方法 getFullYear() 方法可返回一个表示年份的 4 位数字. getYear() 语法 dateObject.getFullYear ...

  7. Struts2中Action对象的set方法和get方法调用规则

    Struts的Action是采用的是多实例多线程设计,而不是像Servlet那样采用单实例多线程设计,因此在struts中,一个请求就对应一个Action对象,个对象之间的数据相互之间互不干扰.没接到 ...

  8. JS中定义对象原型的两种使用方法

    第一种: function Person() { this.username = new Array(); this.password = "123"; } Person.prot ...

  9. js中遍历对象的属性和值的方法

    鉴于循环目标是个对象,length是为undefined,用map等对数组的循环方法不行,对象就用此下方法 for(var key in _this.lists.medicines){ medicin ...

随机推荐

  1. c语言第一次作业--分支 顺序结构

    1.1思维导图 1.2.1本周学习体会以及代码量学习体会 1.2.2学习体会 因为在假期时只看了小部分的学习视频,也没有刷题量,导致了在开始就感觉到差同学的进程很多.刚开始觉得老师讲课很快,在恶补了很 ...

  2. 数组遍历for forEach for..in for..of

    最开始接触的遍历for 通过下标获取数组每一项的值 ,,]; ;i<num.length;i++) { console.log(num[i]) } /*打印2 5 7*/ forEach遍历数组 ...

  3. Extjs小总结

    1.绑定工作流:    INSERT INTO `base_codeclass` VALUES (null, 'PM_CGSQ', '采购申请', null, null, null, '2018-09 ...

  4. UOJ.311.[UNR#2]积劳成疾(DP)

    UOJ 序列中的每个位置是等价的.直接令\(f[i][j]\)表示,\(i\)个数的序列,最大值不超过\(j\)的所有序列每个长为\(k\)的子区间最大值的乘积的和. 由\(j-1\)转移到\(j\) ...

  5. 我的 FPGA 学习历程(08)—— 实验:点亮单个数码管

    数码管是一种常见的用于显示的电子器件,根据数码管大致可以分为共阴极和共阳极两种,下图所示的是一个共阳极的数码管的电路图(摘自金沙滩工作室的 51 开发板电路图),我的 AX301 开发板与这张图的情况 ...

  6. css 制作导航条布局

    代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  7. TCP(控制传输协议)详解

    1.传输层概述 在OSI参考模型中,网络层是面向通信的最高层但同时也是面向用户程序的最底层. 传输层的主要作用: 复用:在发送端,多个应用程序公用一个传输层: 分用:在接收端,传输层把从网络层接收到的 ...

  8. 我理解的websocket

    短轮询:客户端发起请求,服务器无论有无消息都返回信息,结束http连接.然后继续发起请求. 长轮询:客户端发起请求,建立连接,直到服务端返回消息response,结束http连接.然后继续发起请求,重 ...

  9. 【转】 微软在.NET官网上线.NET 架构指南

    原文地址:http://www.cnblogs.com/shanyou/p/6676357.html. 微软在Visual Studio 2017 正式发布的时候也上线了一个参考应用https://g ...

  10. CSS-单位em 和 rem

    1,em单位(css3新增单位) em:就是一种长度单位,它是参照当前元素的字号,如果没有设置,就参照父容器,一直到浏览器的默认字号大小 em 是相对长度单位(参照父元素),其参照当前元素字号大小,如 ...