ADO.NET SqlDataReader 类

2025年3月17日 | 阅读 3 分钟

此类用于从 SQL Server 数据库读取数据。它以只进流的方式从 SQL Server 数据库读取数据行。 它是密封类,因此无法继承。 它继承了 DbDataReader 类并实现了 IDisposable 接口。

SqlDataReader 签名

SqlDataReader 属性

属性描述
关系它用于获取与 SqlDataReader 关联的 SqlConnection。
深度它用于获取一个值,该值指示当前行的嵌套深度。
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

输出

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

ADO Net Sqldatareader Class 1
下一个主题ADO.NET DataSet