DataTableReaderとは? わかりやすく解説

DataTableReader クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

DataTableReader は、1 つ上の DataTable オブジェクト内容1 つ上の読み取り専用前方向の結果セットとして取得します

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public NotInheritable Class
 DataTableReader
    Inherits DbDataReader
Dim instance As DataTableReader
public sealed class DataTableReader : DbDataReader
public ref class DataTableReader sealed : public
 DbDataReader
public final class DataTableReader extends
 DbDataReader
public final class DataTableReader extends
 DbDataReader
解説解説

DataTableReader動作は SqlDataReader など他のデータ リーダーとほとんど同じですが、DataTableReader では DataTable 内の行を反復処理できる点が異なります。つまり、キャッシュ内の行の反復処理対応してます。DataTableReaderアクティブで、位置自動的に維持されている場合に、キャッシュされているデータ変更できます

DataTable から DataTableReader作成すると、作成されDataTableReader オブジェクトには作成元の DataTable と同じデータ (削除するように指定された行を除く) を含む結果セット1 つ格納されています。列は元の DataTable と同じ順序表示されます。返される結果スキーマデータは、元の DataTable と同じです。DataSet複数テーブル格納されている場合DataSet オブジェクトの GetDataReader メソッド呼び出して作成されDataTableReader には、複数結果セット格納されています。結果シーケンスは、DataSet オブジェクトの DataTableCollection の DataTable オブジェクトと同じです。

返される結果セットには、各 DataRow の現在のバージョンのみが格納されます。削除指定された行スキップされます

DataTableReader により、安定した反復子得られます。つまり、基になるコレクション反復処理中に変更され場合でも DataTableReader内容無効になりません。たとえば、Rows コレクションの行が反復処理中に 1 つ以上削除され場合でも、DataTableReader 内部における現在の位置適切に維持されるため、反復子無効になりません。

継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.Data.Common.DbDataReader
      System.Data.DataTableReader
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataTableReader コンストラクタ (DataTable)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定されDataTableデータ使用してDataTableReader クラス新しインスタンス初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    dataTable As DataTable _
)
Dim dataTable As DataTable

Dim instance As New DataTableReader(dataTable)
public DataTableReader (
    DataTable dataTable
)
public:
DataTableReader (
    DataTable^ dataTable
)
public DataTableReader (
    DataTable dataTable
)
public function DataTableReader (
    dataTable : DataTable
)

パラメータ

dataTable

新しい DataTableReader が結果セット取得する DataTable。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataTableReader コンストラクタ

DataTableReader クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
DataTableReader (DataTable) 指定された DataTable のデータ使用してDataTableReader クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

DataTableReader (DataTable[]) DataTable オブジェクト指定した配列使用してDataTableReader クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

参照参照

関連項目

DataTableReader クラス
DataTableReader メンバ
System.Data 名前空間

DataTableReader コンストラクタ (DataTable[])

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

DataTable オブジェクト指定した配列使用してDataTableReader クラス新しインスタンス初期化します。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    dataTables As DataTable() _
)
Dim dataTables As DataTable()

Dim instance As New DataTableReader(dataTables)
public DataTableReader (
    DataTable[] dataTables
)
public:
DataTableReader (
    array<DataTable^>^ dataTables
)
public DataTableReader (
    DataTable[] dataTables
)
public function DataTableReader (
    dataTables : DataTable[]
)

パラメータ

dataTables

新しい DataTableReader オブジェクト結果提供する DataTable オブジェクト配列

解説解説
使用例使用例

次の例では、TestConstructor メソッド使用して 2 つDataTable インスタンス作成しますDataTableReader クラス対するこのコンストラクタ使用方法を示すために、この例では 2 つDataTables格納する配列基づいて新しDataTableReader作成し単純な操作実行して最初数行内容コンソール ウィンドウ表示します。このアプリケーションテストするには、新しコンソール アプリケーション作成し新しく作成したファイルにこのサンプル コード貼り付けます。

Private Sub TestConstructor()
   ' Create two data adapters, one for each of the two
   ' DataTables to be filled.
   Dim customerDataTable As DataTable = GetCustomers()
   Dim productDataTable As DataTable = GetProducts()

   ' Create the new DataTableReader.
   Using reader As New DataTableReader( _
      New DataTable() {customerDataTable, productDataTable})

      ' Print the contents of each of the result sets.
      Do
         PrintColumns(reader)
      Loop While reader.NextResult()
   End Using

   Console.WriteLine("Press Enter to finish.")
   Console.ReadLine()

End Sub

Private Function GetCustomers() As
 DataTable
   ' Create sample Customers table, in order
   ' to demonstrate the behavior of the DataTableReader.
   Dim table As New DataTable

   ' Create two columns, ID and Name.
   Dim idColumn As DataColumn = table.Columns.Add("ID",
 _
     GetType(Integer))
   table.Columns.Add("Name", GetType(String))

   ' Set the ID column as the primary key column.
   table.PrimaryKey = New DataColumn() {idColumn}

   table.Rows.Add(New Object() {1, "Mary"})
   table.Rows.Add(New Object() {2, "Andy"})
   table.Rows.Add(New Object() {3, "Peter"})
   table.Rows.Add(New Object() {4, "Russ"})
   Return table
End Function

Private Function GetProducts() As
 DataTable
   ' Create sample Products table, in order
   ' to demonstrate the behavior of the DataTableReader.
   Dim table As New DataTable

   ' Create two columns, ID and Name.
   Dim idColumn As DataColumn = table.Columns.Add("ID",
 _
     GetType(Integer))
   table.Columns.Add("Name", GetType(String))

   ' Set the ID column as the primary key column.
   table.PrimaryKey = New DataColumn() {idColumn}

   table.Rows.Add(New Object() {1, "Wireless
 Network Card"})
   table.Rows.Add(New Object() {2, "Hard
 Drive"})
   table.Rows.Add(New Object() {3, "Monitor"})
   table.Rows.Add(New Object() {4, "CPU"})
   Return table
End Function

Private Sub PrintColumns( _
   ByVal reader As DataTableReader)

   ' Loop through all the rows in the DataTableReader.
   Do While reader.Read()
      For i As Integer =
 0 To reader.FieldCount - 1
         Console.Write(reader(i).ToString() & " ")
      Next
      Console.WriteLine()
   Loop
End Sub
private static void TestConstructor()
{
    // Create two data adapters, one for each of the two
    // DataTables to be filled.
    DataTable customerDataTable = GetCustomers();
    DataTable productDataTable = GetProducts();

    // Create the new DataTableReader.
    using (DataTableReader reader = new DataTableReader(
               new DataTable[] { customerDataTable, productDataTable
 }))
    {
        // Print the contents of each of the result sets.
        do
        {
            PrintColumns(reader);
        } while (reader.NextResult());
    }

    Console.WriteLine("Press Enter to finish.");
    Console.ReadLine();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();
  
    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(int));
    table.Columns.Add("Name", typeof(string ));
  
    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    return table;
}

private static DataTable GetProducts()
{
    // Create sample Products table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();
  
    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(int));
    table.Columns.Add("Name", typeof(string ));
  
    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Wireless Network Card"
 });
    table.Rows.Add(new object[] { 2, "Hard Drive" });
    table.Rows.Add(new object[] { 3, "Monitor" });
    table.Rows.Add(new object[] { 4, "CPU" });
    return table;
}

private static void PrintColumns(DataTableReader
 reader)
{
    // Loop through all the rows in the DataTableReader
    while (reader.Read())
    {
        for (int i = 0; i < reader.FieldCount;
 i++)
        {
            Console.Write(reader[i] + " ");
        }
        Console.WriteLine();
    }
}

コンソール ウィンドウには次の結果表示されます。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DataTableReader プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ Depth オーバーライドされます。 DataTableReader の現在の行の入れ子深さ
パブリック プロパティ FieldCount オーバーライドされます現在の行の列数を返します
パブリック プロパティ HasRows オーバーライドされますDataTableReader に 1 行以上の行が格納されているかどうかを示す値を取得します
パブリック プロパティ IsClosed オーバーライドされますDataTableReader閉じられているかどうかを示す値を取得します
パブリック プロパティ Item オーバーロードされますオーバーライドされます指定した列の値をネイティブ形式取得します
パブリック プロパティ RecordsAffected オーバーライドされますSQL ステートメント実行したことで挿入変更、または削除された行数を取得します
パブリック プロパティ VisibleFieldCount  DbDataReader の非表示ではないフィールドの数を取得します。 ( DbDataReader から継承されます。)
参照参照

関連項目

DataTableReader クラス
System.Data 名前空間

DataTableReader メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Close オーバーライドされます現在の DataTableReader を閉じます
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド Dispose  DbDataReader によって消費されているリソース解放します。 ( DbDataReader から継承されます。)
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetBoolean オーバーライドされます指定した列の値を Boolean として取得します
パブリック メソッド GetByte オーバーライドされます指定した列の値をバイトとして取得します
パブリック メソッド GetBytes オーバーライドされます指定したバッファ オフセット開始位置として、指定したオフセットから始まる文字ストリームバッファ配列として読み込みます。
パブリック メソッド GetChar オーバーライドされます指定した列の値を文字として取得します
パブリック メソッド GetChars オーバーライドされます指定した列の値を文字配列として返します
パブリック メソッド GetData  要求された列の序数DbDataReader オブジェクト返します。 ( DbDataReader から継承されます。)
パブリック メソッド GetDataTypeName オーバーライドされます指定した列のデータ型を示す文字列を取得します
パブリック メソッド GetDateTime オーバーライドされます指定した列の値を DateTime オブジェクトとして取得します
パブリック メソッド GetDecimal オーバーライドされます指定した列の値を Decimal として取得します
パブリック メソッド GetDouble オーバーライドされます。 列の値を倍精度浮動小数点数値として取得します
パブリック メソッド GetEnumerator オーバーライドされます。 項目のコレクション反復処理するために使用できる列挙子を返します
パブリック メソッド GetFieldType オーバーライドされますオブジェクトデータ型である Type取得します
パブリック メソッド GetFloat オーバーライドされます指定した列の値を単精度浮動小数点数として取得します
パブリック メソッド GetGuid オーバーライドされます指定した列の値をグローバル一意識別子 (GUID) として取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetInt16 オーバーライドされます指定した列の値を 16 ビット符号付き整数として取得します
パブリック メソッド GetInt32 オーバーライドされます指定した列の値を 32 ビット符号付き整数として取得します
パブリック メソッド GetInt64 オーバーライドされます指定した列の値を 64 ビット符号付き整数として取得します
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetName オーバーライドされます指定した列の値を String として取得します
パブリック メソッド GetOrdinal オーバーライドされます。 列の名前を指定して、列の序数取得します
パブリック メソッド GetProviderSpecificFieldType オーバーライドされます指定した列の型をプロバイダ固有の形式取得します
パブリック メソッド GetProviderSpecificValue オーバーライドされます指定した列の値をプロバイダ固有の形式取得します
パブリック メソッド GetProviderSpecificValues オーバーライドされます指定され配列に、DataTableReaderすべてのに関するプロバイダ固有の型の情報格納します
パブリック メソッド GetSchemaTable オーバーライドされますDataTableReader の列メタデータ記述する DataTable を返します
パブリック メソッド GetString オーバーライドされます指定した列の値を文字列として取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド GetValue オーバーライドされます指定した列の値をネイティブ形式取得します
パブリック メソッド GetValues オーバーライドされますDataTableReader現在の行の値を格納する Objects配列取得します
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド IsDBNull オーバーライドされます。 列に格納されている値が存在しない値または欠損値かどうかを示す値を取得します
パブリック メソッド NextResult オーバーライドされますDataTableReader次の結果進めます (存在する場合)。
パブリック メソッド Read オーバーライドされますDataTableReader次のレコード進めます
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

DataTableReader クラス
System.Data 名前空間

DataTableReader メンバ

DataTableReader は、1 つ上の DataTable オブジェクト内容1 つ上の読み取り専用前方向の結果セットとして取得します

DataTableReader データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ Depth オーバーライドされますDataTableReader現在の行の入れ子深さ
パブリック プロパティ FieldCount オーバーライドされます現在の行の列数を返します
パブリック プロパティ HasRows オーバーライドされますDataTableReader に 1 行以上の行が格納されているかどうかを示す値を取得します
パブリック プロパティ IsClosed オーバーライドされますDataTableReader閉じられているかどうかを示す値を取得します
パブリック プロパティ Item オーバーロードされますオーバーライドされます指定した列の値をネイティブ形式取得します
パブリック プロパティ RecordsAffected オーバーライドされますSQL ステートメント実行したことで挿入変更、または削除された行数を取得します
パブリック プロパティ VisibleFieldCount  DbDataReader の非表示ではないフィールドの数を取得します。(DbDataReader から継承されます。)
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Close オーバーライドされます現在の DataTableReader閉じます
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド Dispose  DbDataReader によって消費されているリソース解放します。 (DbDataReader から継承されます。)
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetBoolean オーバーライドされます指定した列の値を Boolean として取得します
パブリック メソッド GetByte オーバーライドされます指定した列の値をバイトとして取得します
パブリック メソッド GetBytes オーバーライドされます指定したバッファ オフセット開始位置として、指定したオフセットから始まる文字ストリームバッファ配列として読み込みます。
パブリック メソッド GetChar オーバーライドされます指定した列の値を文字として取得します
パブリック メソッド GetChars オーバーライドされます指定した列の値を文字配列として返します
パブリック メソッド GetData  要求された列の序数DbDataReader オブジェクト返します。 (DbDataReader から継承されます。)
パブリック メソッド GetDataTypeName オーバーライドされます指定した列のデータ型を示す文字列を取得します
パブリック メソッド GetDateTime オーバーライドされます指定した列の値を DateTime オブジェクトとして取得します
パブリック メソッド GetDecimal オーバーライドされます指定した列の値を Decimal として取得します
パブリック メソッド GetDouble オーバーライドされます。 列の値を倍精度浮動小数点数値として取得します
パブリック メソッド GetEnumerator オーバーライドされます。 項目のコレクション反復処理するために使用できる列挙子を返します
パブリック メソッド GetFieldType オーバーライドされますオブジェクトデータ型である Type取得します
パブリック メソッド GetFloat オーバーライドされます指定した列の値を単精度浮動小数点数として取得します
パブリック メソッド GetGuid オーバーライドされます指定した列の値をグローバル一意識別子 (GUID) として取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetInt16 オーバーライドされます指定した列の値を 16 ビット符号付き整数として取得します
パブリック メソッド GetInt32 オーバーライドされます指定した列の値を 32 ビット符号付き整数として取得します
パブリック メソッド GetInt64 オーバーライドされます指定した列の値を 64 ビット符号付き整数として取得します
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetName オーバーライドされます指定した列の値を String として取得します
パブリック メソッド GetOrdinal オーバーライドされます。 列の名前を指定して、列の序数取得します
パブリック メソッド GetProviderSpecificFieldType オーバーライドされます指定した列の型をプロバイダ固有の形式取得します
パブリック メソッド GetProviderSpecificValue オーバーライドされます指定した列の値をプロバイダ固有の形式取得します
パブリック メソッド GetProviderSpecificValues オーバーライドされます指定され配列に、DataTableReaderすべてのに関するプロバイダ固有の型の情報格納します
パブリック メソッド GetSchemaTable オーバーライドされますDataTableReader の列メタデータ記述する DataTable返します
パブリック メソッド GetString オーバーライドされます指定した列の値を文字列として取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド GetValue オーバーライドされます指定した列の値をネイティブ形式取得します
パブリック メソッド GetValues オーバーライドされますDataTableReader現在の行の値を格納する Objects配列取得します
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド IsDBNull オーバーライドされます。 列に格納されている値が存在しない値または欠損値かどうかを示す値を取得します
パブリック メソッド NextResult オーバーライドされますDataTableReader次の結果進めます (存在する場合)。
パブリック メソッド Read オーバーライドされますDataTableReader次のレコード進めます
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

DataTableReader クラス
System.Data 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DataTableReader」の関連用語

DataTableReaderのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataTableReaderのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS