个性化阅读
专注于IT技术分析

ado.net数据阅读器

点击下载

本文概述

此类用于从SQL Server数据库读取数据。它从SQL Server数据库读取仅前向行流中的数据。它是密封类,因此无法继承。它继承了DbDataReader类并实现IDisposable接口。

SqlDataReader签名

public class SqlDataReader : System.Data.Common.DbDataReader, IDisposable

SqlDataReader属性

属性描述
Connection它用于获取与SqlDataReader关联的SqlConnection。
Depth它用于获取一个值, 该值指示当前行的嵌套深度。
FieldCount它用于获取当前行中的列数。
HasRows它用于获取一个值, 该值指示SqlDataReader是否包含一个或多个行。
IsClosed它用于检索一个布尔值, 该布尔值指示指定的SqlDataReader实例是否已关闭。
Item[String]给定列名称时, 它用于以其本机格式获取指定列的值。
Item[Int32]给定列序号时, 它用于以其本机格式获取指定列的值。
RecordsAffected它用于获取通过执行Transact-SQL语句更改, 插入或删除的行数。
VisibleFieldCount它用于获取SqlDataReader中未隐藏的字段数。

方法

方法描述
Close()它用于关闭SqlDataReader对象。
GetBoolean(Int32)它用于获取指定列的布尔值。
GetByte(Int32)它用于获取指定列的值作为字节。
GetChar(Int32)它用于获取指定列的值作为单个字符。
GetDateTime(Int32)它用于获取指定列的值作为DateTime对象。
GetDecimal(Int32)它用于获取指定列的值作为Decimal对象。
GetDouble(Int32)它用于获取指定列的值作为双精度浮点数。
GetFloat(Int32)它用于获取指定列的值作为单精度浮点数。
GetName(Int32)它用于获取指定列的名称。
GetSchemaTable()它用于获取描述SqlDataReader列元数据的DataTable。
GetValue(Int32)它用于以其本机格式获取指定列的值。
GetValues(Object[])它用于用当前行的列值填充对象数组。
NextResult()读取SQL语句的结果时, 它用于获取下一个结果。
Read()它用于从SQL Server数据库读取记录。

若要创建SqlDataReader实例,我们必须调用SqlCommand对象的ExecuteReader方法。


在以下程序中,我们使用SqlDataReader从SQL Server获取数据。 C

// Program.cs

using System;
using System.Data.SqlClient;
namespace AdoNetConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            new Program().GetData();
        }
        public void GetData()
        {
            SqlConnection con = null;
            try
            {
                // Creating Connection
                con = new SqlConnection("data source=.; database=student; integrated security=SSPI");
                // writing sql query
                SqlCommand cm = new SqlCommand("select * from student", con);
                // Opening Connection
                con.Open();
                // Executing the SQL query
                SqlDataReader sdr = cm.ExecuteReader();
                while (sdr.Read())
                {
                    Console.WriteLine(sdr["name"]+" "+ sdr["email"]);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("OOPs, something went wrong." + e);
            }
            // Closing the connection
            finally
            {
                con.Close();
            }
        }
    }
}

输出:

通过组合Ctrl F5执行此程序,它将产生以下输出。

赞(4)
未经允许不得转载:srcmini » ado.net数据阅读器

评论 抢沙发

评论前必须登录!