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

SqlDataReader クラス

SQL Server データベースら行前方ストリーム読み取る方法提供します。このクラス継承できません。

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

Public Class SqlDataReader
    Inherits DbDataReader
    Implements IDataReader, IDisposable, IDataRecord
Dim instance As SqlDataReader
public class SqlDataReader : DbDataReader,
 IDataReader, IDisposable, IDataRecord
public ref class SqlDataReader : public
 DbDataReader, IDataReader, IDisposable, IDataRecord
public class SqlDataReader extends DbDataReader
 implements IDataReader, IDisposable, 
    IDataRecord
public class SqlDataReader extends
 DbDataReader implements IDataReader, IDisposable, 
    IDataRecord
解説解説

SqlDataReader作成するには、コンストラクタ直接使用せずに、SqlCommand オブジェクトの ExecuteReader メソッド呼び出す必要があります

SqlDataReader使用中は、関連付けられた SqlConnection は、その SqlDataReader によって使用されるためビジー状態になりますこの間SqlConnection に対して閉じ以外の操作実行できません。SqlDataReaderClose メソッド呼び出すまでこの状態が続きます。たとえば、Close呼び出すまでは、出力パラメータ取得できません。

データ読み取り中に別のプロセスまたはスレッド結果セット加えた変更が、SqlDataReaderユーザー表示されることがあります。ただし、実際に表示されるかどうかは、タイミングによって決まります

SqlDataReader閉じた後に呼び出すことができるのは、IsClosed プロパティと RecordsAffected プロパティだけです。RecordsAffected プロパティは、SqlDataReader存在している間はいつでも呼び出すことできますが、正し戻り値を得るために、RecordsAffected の値を取得する前には、必ず Close呼び出してください

メモメモ

パフォーマンス向上するために、SqlDataReader不要なオブジェクトまたは不要なデータコピー作成しません。そのため、GetValue などのメソッド複数呼び出すと、同じオブジェクトへの参照返されます。GetValue などのメソッドから返されるオブジェクトの基の値を変更する場合は、注意してください

使用例使用例

SqlConnectionSqlCommand、および SqlDataReader作成する例を次に示します。この例では、データ読み取りコンソール ウィンドウ出力します次にSqlDataReader閉じますSqlConnection は、using コード ブロック末尾自動的に閉じられます。

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

SqlDataReader プロパティ


SqlDataReader メソッド


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

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Close オーバーライドされます。 SqlDataReader オブジェクト閉じます
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド Dispose  オーバーロードされます。 DbDataReader によって使用されているリソース解放します。 ( DbDataReader から継承されます。)
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetBoolean オーバーライドされます指定した列の値をブール値として取得します
パブリック メソッド GetByte オーバーライドされます指定した列の値をバイトとして取得します
パブリック メソッド GetBytes オーバーライドされます指定したオフセットからのバイト ストリームを、配列としてバッファ読み込みます。読み込みは、指定したバッファ オフセットから開始されます。
パブリック メソッド GetChar オーバーライドされます指定した列の値を単一文字として取得します
パブリック メソッド GetChars オーバーライドされます指定したオフセットからの文字ストリームを、配列としてバッファ読み込みます。読み込みは、指定したバッファ オフセットから開始されます。
パブリック メソッド GetData  要求された列の序数DbDataReader オブジェクト返します。 ( DbDataReader から継承されます。)
パブリック メソッド GetDataTypeName オーバーライドされますソース データ型名を取得します
パブリック メソッド GetDateTime オーバーライドされます指定した列の値を DateTime オブジェクトとして取得します
パブリック メソッド GetDecimal オーバーライドされます指定した列の値を Decimal オブジェクトとして取得します
パブリック メソッド GetDouble オーバーライドされます指定した列の値を倍精度浮動小数点数として取得します
パブリック メソッド GetEnumerator オーバーライドされますSqlDataReader反復処理する IEnumerator を返します
パブリック メソッド GetFieldType オーバーライドされますオブジェクトデータ型である Type取得します
パブリック メソッド GetFloat オーバーライドされます指定した列の値を単精度浮動小数点数として取得します
パブリック メソッド GetGuid オーバーライドされます指定した列の値をグローバル一意識別子 (GUID) として取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetInt16 オーバーライドされます指定した列の値を 16 ビット符号付き整数として取得します
パブリック メソッド GetInt32 オーバーライドされます指定した列の値を 32 ビット符号付き整数として取得します
パブリック メソッド GetInt64 オーバーライドされます指定した列の値を 64 ビット符号付き整数として取得します
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetName オーバーライドされます指定した列の名前を取得します
パブリック メソッド GetOrdinal オーバーライドされます。 列の名前を指定して、列の序数取得します
パブリック メソッド GetProviderSpecificFieldType オーバーライドされます。 基になるプロバイダ固有フィールド型の内部表現である Object取得します
パブリック メソッド GetProviderSpecificValue オーバーライドされます。 基になるプロバイダ固有の値の内部表現である Object取得します
パブリック メソッド GetProviderSpecificValues オーバーライドされます。 基になるプロバイダ固有の値の内部表現であるオブジェクト配列取得します
パブリック メソッド GetSchemaTable オーバーライドされますSqlDataReader の列メタデータ記述する DataTable を返します
パブリック メソッド GetSqlBinary 指定した列の値を SqlBinary として取得します
パブリック メソッド GetSqlBoolean 指定した列の値を SqlBoolean として取得します
パブリック メソッド GetSqlByte 指定した列の値を SqlByte として取得します
パブリック メソッド GetSqlBytes 指定した列の値を SqlBytes として取得します
パブリック メソッド GetSqlChars 指定した列の値を SqlChars として取得します
パブリック メソッド GetSqlDateTime 指定した列の値を SqlDateTime として取得します
パブリック メソッド GetSqlDecimal 指定した列の値を SqlDecimal として取得します
パブリック メソッド GetSqlDouble 指定した列の値を SqlDouble として取得します
パブリック メソッド GetSqlGuid 指定した列の値を SqlGuid として取得します
パブリック メソッド GetSqlInt16 指定した列の値を SqlInt16 として取得します
パブリック メソッド GetSqlInt32 指定した列の値を SqlInt32 として取得します
パブリック メソッド GetSqlInt64 指定した列の値を SqlInt64 として取得します
パブリック メソッド GetSqlMoney 指定した列の値を SqlMoney として取得します
パブリック メソッド GetSqlSingle 指定した列の値を SqlSingle として取得します
パブリック メソッド GetSqlString 指定した列の値を SqlString として取得します
パブリック メソッド GetSqlValue 基になる SqlDbType Variant内部表現である Object取得します
パブリック メソッド GetSqlValues 現在の行のすべての属性列を取得します
パブリック メソッド GetSqlXml 指定した列の値を XML 値として取得します
パブリック メソッド GetString オーバーライドされます指定した列の値を文字列として取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド GetValue オーバーライドされます指定した列の値をネイティブ形式取得します
パブリック メソッド GetValues オーバーライドされます現在の行のコレクション内にあるすべての属性列を取得します
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド IsDBNull オーバーライドされます。 列に格納されている値が存在しない値または欠損値かどうかを示す値を取得します
パブリック メソッド NextResult オーバーライドされますバッチ Transact-SQL ステートメント結果読み込むときに、データ リーダー次の結果進めます
パブリック メソッド Read オーバーライドされますSqlDataReader次のレコード進めます
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド Dispose  オーバーロードされますDbDataReader によって使用されているリソース解放します。 ( DbDataReader から継承されます。)
プロテクト メソッド Finalize  Objectガベージ コレクションにより収集される前に、その Objectリソース解放しその他のクリーンアップ操作実行できるようにします。 ( Object から継承されます。)
プロテクト メソッド GetDbDataReader  プロバイダ固有の実装オーバーライドできる、要求された列の序数DbDataReader オブジェクト返します。 ( DbDataReader から継承されます。)
プロテクト メソッド IsCommandBehavior 指定した CommandBehavior が SqlDataReader動作一致するかどうか判断します
プロテクト メソッド MemberwiseClone  オーバーロードされます。 ( MarshalByRefObject から継承されます。)
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 .NET Compact Framework によるサポート System.Data.IDataRecord.GetData このメンバ説明については、GetData のトピック参照してください
インターフェイスの明示的な実装 System.IDisposable.Dispose  
参照参照

関連項目

SqlDataReader クラス
System.Data.SqlClient 名前空間

その他の技術情報

ADO.NET でのデータへの接続およびデータ取得
.NET Framework Data Provider for SQL Server使用

SqlDataReader メンバ

SQL Server データベースら行前方ストリーム読み取る方法提供します。このクラス継承できません。

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


パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ Connection SqlDataReader関連付けられている SqlConnection を取得します
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Close オーバーライドされます。 SqlDataReader オブジェクト閉じます
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド Dispose  オーバーロードされます。 DbDataReader によって使用されているリソース解放します。 (DbDataReader から継承されます。)
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetBoolean オーバーライドされます指定した列の値をブール値として取得します
パブリック メソッド GetByte オーバーライドされます指定した列の値をバイトとして取得します
パブリック メソッド GetBytes オーバーライドされます指定したオフセットからのバイト ストリームを、配列としてバッファ読み込みます。読み込みは、指定したバッファ オフセットから開始されます。
パブリック メソッド GetChar オーバーライドされます指定した列の値を単一文字として取得します
パブリック メソッド GetChars オーバーライドされます指定したオフセットからの文字ストリームを、配列としてバッファ読み込みます。読み込みは、指定したバッファ オフセットから開始されます。
パブリック メソッド GetData  要求された列の序数DbDataReader オブジェクト返します。 (DbDataReader から継承されます。)
パブリック メソッド GetDataTypeName オーバーライドされますソース データ型名を取得します
パブリック メソッド GetDateTime オーバーライドされます指定した列の値を DateTime オブジェクトとして取得します
パブリック メソッド GetDecimal オーバーライドされます指定した列の値を Decimal オブジェクトとして取得します
パブリック メソッド GetDouble オーバーライドされます指定した列の値を倍精度浮動小数点数として取得します
パブリック メソッド GetEnumerator オーバーライドされますSqlDataReader反復処理する IEnumerator を返します
パブリック メソッド GetFieldType オーバーライドされますオブジェクトデータ型である Type取得します
パブリック メソッド GetFloat オーバーライドされます指定した列の値を単精度浮動小数点数として取得します
パブリック メソッド GetGuid オーバーライドされます指定した列の値をグローバル一意識別子 (GUID) として取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetInt16 オーバーライドされます指定した列の値を 16 ビット符号付き整数として取得します
パブリック メソッド GetInt32 オーバーライドされます指定した列の値を 32 ビット符号付き整数として取得します
パブリック メソッド GetInt64 オーバーライドされます指定した列の値を 64 ビット符号付き整数として取得します
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetName オーバーライドされます指定した列の名前を取得します
パブリック メソッド GetOrdinal オーバーライドされます。 列の名前を指定して、列の序数取得します
パブリック メソッド GetProviderSpecificFieldType オーバーライドされます。 基になるプロバイダ固有フィールド型の内部表現である Object取得します
パブリック メソッド GetProviderSpecificValue オーバーライドされます。 基になるプロバイダ固有の値の内部表現である Object取得します
パブリック メソッド GetProviderSpecificValues オーバーライドされます。 基になるプロバイダ固有の値の内部表現であるオブジェクト配列取得します
パブリック メソッド GetSchemaTable オーバーライドされますSqlDataReader の列メタデータ記述する DataTable を返します
パブリック メソッド GetSqlBinary 指定した列の値を SqlBinary として取得します
パブリック メソッド GetSqlBoolean 指定した列の値を SqlBoolean として取得します
パブリック メソッド GetSqlByte 指定した列の値を SqlByte として取得します
パブリック メソッド GetSqlBytes 指定した列の値を SqlBytes として取得します
パブリック メソッド GetSqlChars 指定した列の値を SqlChars として取得します
パブリック メソッド GetSqlDateTime 指定した列の値を SqlDateTime として取得します
パブリック メソッド GetSqlDecimal 指定した列の値を SqlDecimal として取得します
パブリック メソッド GetSqlDouble 指定した列の値を SqlDouble として取得します
パブリック メソッド GetSqlGuid 指定した列の値を SqlGuid として取得します
パブリック メソッド GetSqlInt16 指定した列の値を SqlInt16 として取得します
パブリック メソッド GetSqlInt32 指定した列の値を SqlInt32 として取得します
パブリック メソッド GetSqlInt64 指定した列の値を SqlInt64 として取得します
パブリック メソッド GetSqlMoney 指定した列の値を SqlMoney として取得します
パブリック メソッド GetSqlSingle 指定した列の値を SqlSingle として取得します
パブリック メソッド GetSqlString 指定した列の値を SqlString として取得します
パブリック メソッド GetSqlValue 基になる SqlDbType Variant内部表現である Object取得します
パブリック メソッド GetSqlValues 現在の行のすべての属性列を取得します
パブリック メソッド GetSqlXml 指定した列の値を XML 値として取得します
パブリック メソッド GetString オーバーライドされます指定した列の値を文字列として取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド GetValue オーバーライドされます指定した列の値をネイティブ形式取得します
パブリック メソッド GetValues オーバーライドされます現在の行のコレクション内にあるすべての属性列を取得します
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド IsDBNull オーバーライドされます。 列に格納されている値が存在しない値または欠損値かどうかを示す値を取得します
パブリック メソッド NextResult オーバーライドされますバッチ Transact-SQL ステートメント結果読み込むときに、データ リーダー次の結果進めます
パブリック メソッド Read オーバーライドされますSqlDataReader次のレコード進めます
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 .NET Compact Framework によるサポート System.Data.IDataRecord.GetData このメンバ説明については、GetData のトピック参照してください
インターフェイスの明示的な実装 System.IDisposable.Dispose  
参照参照

関連項目

SqlDataReader クラス
System.Data.SqlClient 名前空間

その他の技術情報

ADO.NET でのデータへの接続およびデータ取得
.NET Framework Data Provider for SQL Server使用



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

辞書ショートカット

すべての辞書の索引

「SqlDataReader」の関連用語

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

   

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



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

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

©2024 GRAS Group, Inc.RSS