当前位置:首页 > 数据库 > ADO > 正文内容

SqlCommand的ExecuteReader方法

小道6年前 (2018-08-28)ADO7781

用于执行查询语句,并返回一个DataReader类型的行集合。

解释1:将SQL语句发送到指定连接 生成一个SqlDataReader对象

解释2:当ExecuteReader()执行后返回一个SqlDataReader对象

两种解释实际上都在说明些方法就是给SqlDataReader对象一个可以访问查询到的结果的渠道。


 程序执行分析

1、首先需要new一个SqlDataReader对象。接收ExecuteReader()执行后返回的SqlDataReader对象。

2、SqlDataReader的HasRows属性可以判断SqlDataReader中是否有(一行或多行)数据,返回bool值,有数据时为true,程序向下执行,开始进入读取数据环节。

3、SqlDataReader的Read方法可以使SqlDataReader前进到下一条记录,同样返回bool值,当下一条无记录返回false,则表示记录读取完毕;当下一条有数据时为true,将读取到的数据(当前的一条记录)暂存在SqlDataReader中。

4、SqlDataReader的一系列get方法可以获取SqlDataReader中不同类型的值,保存到指定的变量中。

注:get方法参数为列数,即第几列。


还有一点很重要,DataReader必须保证SqlConnection处于连接状态。


输出 用户 表中的所以信息:

image.png

            using (SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDBFilename=|DataDirectory|\Database1.mdf;integrated Security=True;User Instance=false"))
            {
                conn.Open();//打开数据库
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * from 用户";//搜索用户表
                    using (SqlDataReader reader = cmd.ExecuteReader())//提供一种从 SQL Server 数据库读取行的只进流的方式。此类不能被继承。
                    {
                        while (reader.Read())//读取获取结果集里面所有行信息(Read: 如果存在多个行,则为 true;否则为 false。)
                        {
                            Console.WriteLine("用户表中的ID:{0},帐号:{1},密码{2}.",reader.GetInt32(0), reader.GetString(1), reader.GetString(2));//输出Get...是输出 括号里面是要输出的列,从0开始。
                              //Console.WriteLine("用户表中的ID:{0},帐号:{1},密码{2}.", reader.GetInt32(reader.GetOrdinal("id")), reader.GetString(reader.GetOrdinal("帐号")), reader.GetString(reader.GetOrdinal("密码")));
                                                     //另一种方法,可以使用 reader.GetOrdinal("id") 获取该列的 序号值。
                        }
                    }
                }
            }

输出结果:

image.png

扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://daobk.com/post/81.html

分享给朋友:

“SqlCommand的ExecuteReader方法” 的相关文章

ADO连接介绍。

ADO连接介绍。

using System; using System.Collections.Generic; using System.Data.SqlClient; // 使用 SqlConnection  要引用这个。 us...

SqlCommand的ExecuteNonQuery方法

SqlCommand的ExecuteNonQuery方法

ExecuteNonQuery:用于执行SQL语句,并返回SQL语句所影响的行数。该方法一般用于执行insert、delete、update等语句。using System; using System.Collections.Generic; using Syste...

SqlCommand的Parameters属性

SqlCommand的Parameters属性

SqlCommand的Parameters属性:获得与该命令关联的参数集合            using (SqlConnection conn ...

评论列表

自媒体运营
自媒体运营 IP:河南省
3年前 (2021-11-29)

说的好,感谢分享!

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。