ado.net数据阅读器

本文概述

  • SqlDataReader签名
此类用于从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
【ado.net数据阅读器】// 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执行此程序,它将产生以下输出。
ado.net数据阅读器

文章图片

    推荐阅读