mysql executereader_“c#”中“ExecuteReader”是什么意思?「建议收藏」

mysql executereader_“c#”中“ExecuteReader”是什么意思?「建议收藏」1、MSDN上说:SendstheCommandTexttotheConnectionandbuildsaSqlDataReader.简单说,就是SqlCommand对象的方法,执行返回数据的Select语句。它的执行方法有两个:第一,ExecuteReader():针对Connection执行CommandText,并返回DbDataReader。第二,ExecuteReade…

大家好,又见面了,我是你们的朋友全栈君。

1、MSDN上说:Sends the CommandText to the Connection and builds a SqlDataReader.

简单说,就是SqlCommand对象的方法,执行返回数据的Select语句。它的执行方法有两个:

第一,ExecuteReader():针对Connection执行CommandText,并返回DbDataReader。

第二,ExecuteReader(CommandBehavior behavior):针对Connection执行CommandText,并使用CommandBehavior值之一返回DbDataReader。

2、实例代码

public void CreateMySqlDataReader(string mySelectQuery, SqlConnection myConnection)

{

string sql;//sql语句

SqlCommand myCommand = new SqlCommand(sql, myConnection);

myConnection.Open();

SqlDataReader myReader;

myReader = myCommand.ExecuteReader();

try

{

while(myReader.Read())

{

Console.WriteLine(myReader.GetString(0));

}

}

finally

{

myReader.Close();

myConnection.Close();

}

}

3、下面说说它的用法:

①:

用法:ExecuteReader 方法存在的目的只有一个:尽可能快地对数据库进行查询并得到结果。ExecuteReader 返回一个 DataReader对象:如果在SqlCommand对象中调用,则返回SqlDataReader;如果在OleDbCommand对象中调用,返回的是OleDbDataReader。可以调用DataReader的方法和属性迭代处理结果集。它是一个快速枚举数据库查询结果的机制,是只读、只进的。对SqlDataReader.Read的每次调用都会从结果集中返回一行。

②:

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

④:

DataReader还有一个GetValue方法可以用来检索字段的值。GetValue返回一个一般性的Object,但是被无数个返回强类型的Get方法补充,比如GetInt32和GetDecimal(参考MSDN2005)。对GetOrdinal的调用是必须的,因为GetDecimal只接受整型索引。GetOrdinal所做的工作正好与GetName相反——它把字段名转换成数字索引。

注意:DataReader必须处理Close方法。

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection(@”server=ws7\leosql;database=AdventureWorks;uid=sa;pwd=lixiang@”);

try

{

conn.Open();

SqlCommand cmd = new SqlCommand(“SELECT * FROM titles WHERE advance != 0”, conn);

SqlDataReader reader = cmd.ExecuteReader();

int index = reader.GetOrdinal(“advance”);

while(reader.Read())

Console.WriteLine(“{0:c}”, reader.GetDecimal(index));

=================================

— Console.WriteLine(reader.GetName(0));

=================================

”reader.Close();”

}

catch(SqlException ex)

{

Console.WriteLine(ex.Message);

}

finally

{

========================================================

— 可以配置DataReader,使它真的可以关闭一个底层连接

— reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

========================================================

conn.Close();

}

⑤:

现在来强调下:现在来说下ExecuteReader的read()方法,它就是读取一个表的记录,即执行读,每次调用都是返回一行的结果集。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151493.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA解析xml的五种方式比较

    JAVA解析xml的五种方式比较1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取 和操作文档的任意部分,是W3C的官方标准 【优点】 ①允许应用程序对数据和结构做出更改。 ②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。 【缺点】 ①通常需要加载整个XML文档来构造层次结构,消耗资源大。…

    2022年6月3日
    27
  • 用Python发免费短信的正确姿势

    用Python发免费短信的正确姿势前言今天带大家来玩一玩,如何用Python来实现免费短信。关于发短信,其实适用场景还挺多的。只有你想不到的场景,没有玩不转的场景!比如作为一个IT人员,经常会有监控服务器之说,那么自动告警的短信或者来电就显得非常重要了。再比如,你可以用发短信的功能,自己来实现一个温馨天气预报提示给你的爸爸妈妈。。。等等下面进入今天的主题-twilio网站。https://www.twilio.com/console准备工作先来介绍下这个网站主要用于发短信和来电,提供了完备的相关api。而

    2022年5月1日
    51
  • idea 2022.01.4 mac激活码(JetBrains全家桶)2022.02.23

    (idea 2022.01.4 mac激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlHCIQ56F36O-eyJsaWN…

    2022年4月1日
    182
  • 高德地图语音交互实测 看周星星导航包

    高德地图语音交互实测 看周星星导航包本文讲的是:高德地图语音交互实测看周星星导航包,近日,高德地图在京召开发布会,宣布在未来一年内,将把“声音”作为重要的产品战略方向,围绕“更专业、更懂你、更快乐”的理念为用户打磨高德地图的语音能力。同时,高德地图还公布了全新上线的“周星星经典语音包”,由香港著名演员周星驰的“御用”国语配音者石班瑜亲自为高德录制。这也是继林志玲、郭德纲之后,…

    2022年5月7日
    177
  • Java static修饰方法

    Java static修饰方法一、static修饰方法1、与静态变量一样,我们也可以使用static修饰方法,称为静态方法或类方法。其实之前我们一直写的main方法就是静态方法。调用静态方法可通过类名访问或者对象方法。例如:publicclassStaticMethod{//使用static关键字修饰静态方法publicstaticvoidprint(){System.out.println(

    2022年7月17日
    10
  • Linux小技巧:tail -f —— 查看动态文本

    Linux小技巧:tail -f —— 查看动态文本说道查看文本:大家很肯定有用过cat:一次查看所有内容,不过文本行数过多,不能全部显示[root@localhostyum.repos.d]#cat163.repo.bak[163repo]name=linuxredhat163.repobaseurl=http://mirrors.163.com/centos/7/os/x86_64/gpgcheck=0enabl…

    2022年6月4日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号