IDataReader インターフェイス
アセンブリ: System.Data (system.data.dll 内)

Public Interface IDataReader Inherits IDisposable, IDataRecord
public interface IDataReader : IDisposable, IDataRecord
public interface class IDataReader : IDisposable, IDataRecord
public interface IDataReader extends IDisposable, IDataRecord
public interface IDataReader extends IDisposable, IDataRecord

IDataReader インターフェイスと IDataRecord インターフェイスを使用すると、継承クラスは結果セットの 1 つ以上の前方向ストリームを読み込む手段を提供している DataReader クラスを実装できます。DataReader クラスの詳細については、「DataReader によるデータの取得」を参照してください。.NET Framework データ プロバイダの実装の詳細については、「Implementing a .NET Framework Data Provider」を参照してください。
アプリケーションでは IDataReader インターフェイスのインスタンスは直接作成されず、IDataReader を継承するクラスのインスタンスが作成されます。
IDataReader を継承するクラスは、継承されたメンバを実装する必要があり、通常、プロバイダ固有の機能を追加する追加メンバを定義する必要があります。
データを読み込み中に別のプロセスまたはスレッドによって結果セットが変更された場合は、IDataReader を実装するクラスのユーザーに対してその変更を表示できる場合があります。ただし、正確な動作はプロバイダとタイミングによって異なります。
実装時の注意 .NET Framework データ プロバイダ間に一貫性を持たせるために、継承クラスには Prv Command という形式の名前を付けてください。Prv は各 .NET Framework データ プロバイダの名前空間内のすべてのクラスに付けられるプリフィックスです。たとえば、Sql は System.Data.SqlClient 名前空間内の SqlDataAdapter クラスのプリフィックスです。 ユーザーは DataReader クラスのインスタンスを直接作成しません。その代わり、Command オブジェクトの ExecuteReader メソッドを使用して DataReader を取得します。このため、DataReader コンストラクタに内部マークを付ける必要があります。
派生クラス SqlConnection、SqlCommand、および SqlDataReader のインスタンスを作成する例を次に示します。この例では、データを読み取り、コンソールに出力します。最後に、この例では SqlDataReader を閉じてから、SqlConnection を閉じます。
Private Sub ReadOrderData(ByVal connectionString As String) Dim queryString As String = _ "SELECT OrderID, CustomerID FROM dbo.Orders;" Using connection As New SqlConnection(connectionString) Dim command As New SqlCommand(queryString, connection) connection.Open() Dim reader As SqlDataReader = command.ExecuteReader() ' Call Read before accessing data. While reader.Read() Console.WriteLine(String.Format("{0}, {1}", _ reader(0), reader(1))) End While ' Call Close when done reading. reader.Close() End Using End Sub
private static void ReadOrderData(string connectionString) { string queryString = "SELECT OrderID, CustomerID FROM dbo.Orders;"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); // Call Read before accessing data. while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1])); } // Call Close when done reading. reader.Close(); } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


IDataReader プロパティ
IDataReader メソッド

名前 | 説明 | |
---|---|---|
![]() | Close | IDataReader オブジェクトを閉じます。 |
![]() | GetSchemaTable | IDataReader の列メタデータを記述する DataTable を返します。 |
![]() | NextResult | バッチ SQL ステートメントの結果を読み込むときに、データ リーダーを次の結果に進めます。 |
![]() | Read | IDataReader を次のレコードに進めます。 |

IDataReader メンバ
データ ソースでコマンドを実行して取得した結果セットの、1 つ以上の前方向ストリームを読み込む手段を提供します。リレーショナル データベースにアクセスする .NET Framework データ プロバイダによって実装されます。
IDataReader データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Close | IDataReader オブジェクトを閉じます。 |
![]() | GetSchemaTable | IDataReader の列メタデータを記述する DataTable を返します。 |
![]() | NextResult | バッチ SQL ステートメントの結果を読み込むときに、データ リーダーを次の結果に進めます。 |
![]() | Read | IDataReader を次のレコードに進めます。 |

- IDataReaderのページへのリンク