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 执行此程序,它将产生以下输出。 
|