ExecuteNonQuery方法 :执行非查询SQL操作,包括增insert、删delete、改update 
ExcuteReader方法 :执行查询,返回DataReader,通过DataReader的对象dr["列名"] 
可以取得数据,一次读一行,可以通过while(dr.Read())进行循环读取 
ExecuteScalar方法 :执行查询,只返回一个数据

在连接SQL Server数据库:首先创建SqlConnection类和SqlCommand类实例分别用于连接到SQL Server数据库和执行SQL语句命令,然后打开数据连接并使用SqlCommand的相应方法执行SQL语句。
ExecuteNonQuery()方法执行SQL语句并且不返回数据;
ExecuteReader()方法将SQL语句发送给SqlConnection并生产一个SqlDataReader类对象,该SqlDataReader对象包含SQL命令返回的数据;
ExecuteScalar()方法执行SQl查询,并返回查询结果集中的第一行的第一列,忽略额外的列或行!

例如:
SqlConnection MyConncetion = new SqlConnection(m_SqlConnection);
SqlCommand MyCmd = new SqlCommand(p_StrSql, MyConncetion);
一:
MyConncetion.Open();
MyCmd.ExecuteNonQuery();
二:
MyConncetion.Open();
SqlDataReader MyReader = MyCmd.ExecuteReader();
            if (MyReader.Read())
            {
                return 0;
            }
            else
            {
                throw new Exception("Value Unavailable!");
            }
三:
MyConnection.Open();
SqlDataAdapter SqlDa = new SqlDataAdapter(p_StrSql, MyConnection);
DataSet Ds = new DataSet("ds");
SqlDa.Fill(Ds);

四:

MyConncetion.Open();
object r = MyCmd.ExecuteScalar();
            if (object.Equals(r, null))
            {
                throw new Exception("Value Unavailable!");

}
            else
            {
                return (int)r;

}

注意:ExecuteReader() 方法需要配合 SqlDataReader 对象使用,执行得到的数据集为只读且光标只能从前向后移动。

string oSql = "select id, password, name, level    from verify";SqlCommand comm = new SqlCommand(oSql, con);con.Open();//在调用方法前打开数据库连接,可以减少数据库连接所花的时间,节省数据库资源。SqlDataReader dr = comm.ExecuteReader ();While(dr.Read()){    String id = "";    id = dr[0].ToString(); //(0为第一列)    //或 id=dr["id"].ToString();(引用字段名)    //或id= dr.GetString (dr.GetOrdinal ("id"));}//在读取数据结束后才能关闭数据库,因为 SqlDataReader 对象的数据源必须保持数据库连接。con.Close();

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyujie1219/archive/2009/07/26/4380956.aspx

ExecuteNonQuery,ExecuteReader,ExecuteScalar 区别的更多相关文章

  1. C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter应该怎么用?

    C#中ExecuteReader.ExecuteNonQuery.ExecuteScalar.SqlDataReader.SqlDataAdapter应该怎么用? (2013-10-16 13:21: ...

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

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

  3. Sql_server四种执行ExecuteReader、ExecuteNonQuery、ExecuteScalar、DataSet.docx

    c#数据查询输出 2012-07-17 17:07 1.使用ExecuteReader()操作数据库 2.使用ExecuteNonQuery()操作数据库 3.使用ExecuteScalar()操作数 ...

  4. C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter的区别

    ExecuteNonQuery()执行命令对象的SQL语句,返回一个int 类型的变量,返回数据库操作之后影响的行数.适合用来验证对数据库进行增删改的情况. 2.ExecuteScalar()也可以执 ...

  5. ExecuteNonQuery和ExecuteScalar的区别

    ExecuteNonQuery   针对 Connection 执行 SQL 语句并返回受影响的行数. 返回值 受影响的行数. 备注 您可以使用 ExecuteNonQuery 来执行目录操作(例如查 ...

  6. ADO.NET基础学习 二(Command对象)

    ②command对象用来操作数据库.(三个重要的方法:ExecuteNonQuery(),ExecuteReader(),ExecuteScalar()) ⑴以update(改数据)为例,用到Exec ...

  7. ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间的区别

    本文来自:http://www.cnblogs.com/zhouxiaxue/archive/2006/05/12/398266.html http://www.cnblogs.com/yaoxc/a ...

  8. ExecuteNonQuery方法、ExecuteScalar方法、ExecuteReader方法的区别

    ----ExecuteNonQuery():执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进行操作(如记录的增加.删除和更新),那么方法将返回操作所影响的记录条数.- ...

  9. ADO.NET中COMMAND对象的ExecuteNonQuery、ExcuteReader和ExecuteScalar方法

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

随机推荐

  1. Nodejs Express笔记

    Express做服务器,主要考虑到可能存在的高并发,js写起来也并不麻烦,环境搭建也异常简单.开车~ 由于主要目的就是用于生产环境,所以肯定不能用高版本的Nodejs,选LTS,没错的. 一.安装 这 ...

  2. sql月,年,统计报表sql报表

    select DevName as 设备名称, count(flux) as 流量数据个数, max(flux) as 流量最大值, min(flux) as 流量最小值, avg(flux) as ...

  3. Java简单工厂模式

    Java简单工厂模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简 ...

  4. 《剑指Offer》题五十一~题六十

    五十一.数组中的逆序对 题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数.例如,在数组{7, 5, 6, 4}中,一共存 ...

  5. 福大软工1816:Alpha(7/10)

    Alpha 冲刺 (7/10) 队名:Jarvis For Chat 组长博客链接 本次作业链接 团队部分 团队燃尽图 工作情况汇报 张扬(组长) 过去两天完成了哪些任务: 文字/口头描述: 1.完成 ...

  6. TCP系列31—窗口管理&流控—5、TCP流控与滑窗

    一.TCP流控 之前我们介绍过TCP是基于窗口的流量控制,在TCP的发送端会维持一个发送窗口,我们假设发送窗口的大小为N比特,网络环回时延为RTT,那么在网络状况良好没有发生拥塞的情况下,发送端每个R ...

  7. Razor语法和Razor引擎大全

    一.Razor语法 1.Razor的标识符 解释:@字符被定义为Razor服务器代码块的标识符,后面的表示是服务器代码了.web form中使用<%%>中写服务器代码一个道理.在vs工具里 ...

  8. html .net 网页,网站标题添图标

    <link rel="icon" href="../favicon.ico" type="image/x-icon" /> &l ...

  9. Linux文件传输FTP详解

    ftp命令用来设置文件系统相关功能.ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相 ...

  10. 浅述Try {} Catch{} 作用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test ...