SqlDataReader クラス
アセンブリ: System.Data (system.data.dll 内)

Public Class SqlDataReader Inherits DbDataReader Implements IDataReader, IDisposable, IDataRecord
public class SqlDataReader : 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 に対して、閉じる以外の操作は実行できません。SqlDataReader の Close メソッドを呼び出すまでこの状態が続きます。たとえば、Close を呼び出すまでは、出力パラメータは取得できません。
データの読み取り中に別のプロセスまたはスレッドが結果セットに加えた変更が、SqlDataReader のユーザーに表示されることがあります。ただし、実際に表示されるかどうかは、タイミングによって決まります。
SqlDataReader を閉じた後に呼び出すことができるのは、IsClosed プロパティと RecordsAffected プロパティだけです。RecordsAffected プロパティは、SqlDataReader が存在している間はいつでも呼び出すことできますが、正しい戻り値を得るために、RecordsAffected の値を取得する前には、必ず Close を呼び出してください。
![]() |
---|
パフォーマンスを向上するために、SqlDataReader は不要なオブジェクトまたは不要なデータのコピーを作成しません。そのため、GetValue などのメソッドを複数回呼び出すと、同じオブジェクトへの参照が返されます。GetValue などのメソッドから返されるオブジェクトの基の値を変更する場合は、注意してください。 |

SqlConnection、SqlCommand、および 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.MarshalByRefObject
System.Data.Common.DbDataReader
System.Data.SqlClient.SqlDataReader


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SqlDataReader プロパティ

名前 | 説明 | |
---|---|---|
![]() | Depth | オーバーライドされます。 現在の行の入れ子の深さを示す値を取得します。 |
![]() | FieldCount | オーバーライドされます。 現在の行の列数を取得します。 |
![]() | HasRows | オーバーライドされます。 SqlDataReader に 1 行以上の行が格納されているかどうかを示す値を取得します。 |
![]() | IsClosed | オーバーライドされます。 指定した SqlDataReader インスタンスが閉じているかどうかを示すブール値を取得します。 |
![]() | Item | オーバーロードされます。 オーバーライドされます。 特定の列の値をネイティブ形式で取得します。 |
![]() | RecordsAffected | オーバーライドされます。 Transact-SQL ステートメントによって変更、挿入、または削除された行数を取得します。 |
![]() | VisibleFieldCount | オーバーライドされます。 SqlDataReader の非表示ではないフィールドの数を取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Connection | SqlDataReader に関連付けられている SqlConnection を取得します。 |

関連項目
SqlDataReader クラスSystem.Data.SqlClient 名前空間
その他の技術情報
ADO.NET でのデータへの接続およびデータの取得.NET Framework Data Provider for SQL Server の使用
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 から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() ![]() | 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 データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | Depth | オーバーライドされます。 現在の行の入れ子の深さを示す値を取得します。 |
![]() | FieldCount | オーバーライドされます。 現在の行の列数を取得します。 |
![]() | HasRows | オーバーライドされます。 SqlDataReader に 1 行以上の行が格納されているかどうかを示す値を取得します。 |
![]() | IsClosed | オーバーライドされます。 指定した SqlDataReader インスタンスが閉じているかどうかを示すブール値を取得します。 |
![]() | Item | オーバーロードされます。 オーバーライドされます。 特定の列の値をネイティブ形式で取得します。 |
![]() | RecordsAffected | オーバーライドされます。 Transact-SQL ステートメントによって変更、挿入、または削除された行数を取得します。 |
![]() | VisibleFieldCount | オーバーライドされます。 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 から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 DbDataReader によって使用されているリソースを解放します。 (DbDataReader から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | GetDbDataReader | プロバイダ固有の実装でオーバーライドできる、要求された列の序数の DbDataReader オブジェクトを返します。 (DbDataReader から継承されます。) |
![]() | IsCommandBehavior | 指定した CommandBehavior が SqlDataReader の動作と一致するかどうかを判断します。 |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() ![]() | System.Data.IDataRecord.GetData | このメンバの説明については、GetData のトピックを参照してください。 |
![]() | System.IDisposable.Dispose |

関連項目
SqlDataReader クラスSystem.Data.SqlClient 名前空間
その他の技術情報
ADO.NET でのデータへの接続およびデータの取得.NET Framework Data Provider for SQL Server の使用
Weblioに収録されているすべての辞書からSqlDataReaderを検索する場合は、下記のリンクをクリックしてください。

- SqlDataReaderのページへのリンク