DataReader 实现必须提供两项功能:以只进方式访问通过执行 Command 获取的一个或多个结果集;访问每个行中的列值。

来自数据源的数据类型将以 .NET 框架类型的形式存储在基于 .NET 的应用程序中。DataReader 实现还将为 DataReader 提供强类型访问器方法,这些方法以 .NET 框架类型的形式返回列值。强类型访问器的示例包括 GetInt32GetString 等。

如果 .NET 数据提供程序具有无法充分地公开为 .NET 框架类型的专用类型,则可以通过扩展接口来支持专用类型,然后为 DataReader 添加同样会返回专用类型的类型化访问器。例如,可以添加 GetMyStructure、GetMyTimeStamp 等。它的一个示例就是 SQL Server .NET 数据提供程序,它使用 System.Data.SqlTypes 命名空间 公开专用类型。然后, SqlDataReader 使用强类型访问器方法将这些类型公开为 SqlTypes。例如,GetSqlBinaryGetSqlDateTimeGetSqlDecimal 等。

以下主题包含 DataReader 对象的实现的示例代码,其中包含一些强类型访问器方法示例。

对于示例 Visual Basic 实现:

对于示例 C# 实现: