OdbcDataReader クラス

定義

データ ソースからデータ行の前方向ストリームを読み取る方法を提供します。Provides a way of reading a forward-only stream of data rows from a data source. このクラスは継承できません。This class cannot be inherited.

public ref class OdbcDataReader sealed : System::Data::Common::DbDataReader
public ref class OdbcDataReader sealed : MarshalByRefObject, IDisposable, System::Collections::IEnumerable, System::Data::IDataReader
public sealed class OdbcDataReader : System.Data.Common.DbDataReader
public sealed class OdbcDataReader : MarshalByRefObject, IDisposable, System.Collections.IEnumerable, System.Data.IDataReader
type OdbcDataReader = class
    inherit DbDataReader
type OdbcDataReader = class
    inherit MarshalByRefObject
    interface IDataReader
    interface IDataRecord
    interface IDisposable
    interface IEnumerable
Public NotInheritable Class OdbcDataReader
Inherits DbDataReader
Public NotInheritable Class OdbcDataReader
Inherits MarshalByRefObject
Implements IDataReader, IDisposable, IEnumerable
継承
OdbcDataReader
継承
継承
OdbcDataReader

次の例では、OdbcConnectionOdbcCommand、および OdbcDataReaderを作成します。The following example creates an OdbcConnection, an OdbcCommand, and an OdbcDataReader. この例では、データを読み取り、コンソールに書き込みます。The example reads through the data, writing it out to the console. 最後に、この例では OdbcDataReaderを閉じ、次に OdbcConnectionを閉じます。Finally, the example closes the OdbcDataReader, and then the OdbcConnection.

public static void ReadData(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM Orders";

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcCommand command = new OdbcCommand(queryString, connection);

        connection.Open();

        // Execute the DataReader and access the data.
        OdbcDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader[0]);
        }

        // Call Close when done reading.
        reader.Close();
    }
}
Public Sub ReadData(ByVal connectionString As String)
    Dim queryString As String = "SELECT DISTINCT CustomerID FROM Orders"

    Using connection As New OdbcConnection(connectionString)
        Dim command As New OdbcCommand(queryString, connection)

        connection.Open()

        Dim reader As OdbcDataReader = command.ExecuteReader()

        While reader.Read()
            Console.WriteLine("CustomerID={0}", reader(0).ToString)
        End While

        ' Call Close when done reading.
        reader.Close()
    End Using
End Sub

注釈

OdbcDataReaderを作成するには、コンストラクターを直接使用するのではなく、OdbcCommand オブジェクトの ExecuteReader メソッドを呼び出す必要があります。To create an OdbcDataReader, you must call the ExecuteReader method of the OdbcCommand object, instead of directly using a constructor.

OdbcDataReader が使用されている間、関連付けられている OdbcConnectionOdbcDataReaderを提供していますが、それを閉じる以外の操作を OdbcConnection 実行することはできません。While the OdbcDataReader is being used, the associated OdbcConnection is busy serving the OdbcDataReader, and no other operations can be performed on the OdbcConnection other than closing it. これは、OdbcDataReaderClose メソッドが呼び出されるまでのケースです。This is the case until the Close method of the OdbcDataReader is called. たとえば、Closeを呼び出した後に出力パラメーターを取得することはできません。For example, you cannot retrieve output parameters until after you call Close.

データが読み取られている間に別のプロセスまたはスレッドによって結果セットに加えられた変更は、OdbcDataReader のユーザーに表示される場合がありますが、Changes made to a result set by another process or thread while data is being read may be visible to the user of the OdbcDataReader. ただし、正確な動作は、ドライバーとタイミングに依存します。However, the precise behavior is both driver and timing dependent.

IsClosed が閉じた後に呼び出すことができるプロパティは、RecordsAffectedOdbcDataReader だけです。IsClosed and RecordsAffected are the only properties that you can call after the OdbcDataReader is closed. 場合によっては、RecordsAffectedを呼び出す前に Close を呼び出す必要があります。Sometimes, you must call Close before you can call RecordsAffected.

プロパティ

Depth

現在の行の入れ子の深さを示す値を取得します。Gets a value that indicates the depth of nesting for the current row.

FieldCount

現在の行の列数を取得します。Gets the number of columns in the current row.

HasRows

OdbcDataReader に 1 行以上の行が格納されているかどうかを示す値を取得します。Gets a value that indicates whether the OdbcDataReader contains one or more rows.

IsClosed

OdbcDataReader が閉じているかどうかを示します。Indicates whether the OdbcDataReader is closed.

Item[Int32]

列序数を指定して、指定した列の値をネイティブ形式で取得します。Gets the value of the specified column in its native format given the column ordinal.

Item[String]

列の名前を指定して、指定した列の値をネイティブ形式で取得します。Gets the value of the specified column in its native format given the column name.

RecordsAffected

SQL ステートメントの実行によって変更、挿入、または削除された行数を取得します。Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.

VisibleFieldCount

DbDataReader 内の表示フィールドの数を取得します。Gets the number of fields in the DbDataReader that are not hidden.

(継承元 DbDataReader)

メソッド

Close()

OdbcDataReader オブジェクトを閉じます。Closes the OdbcDataReader object.

CloseAsync()

DbDataReader オブジェクトを非同期に閉じます。Asynchronously closes the DbDataReader object.

(継承元 DbDataReader)
CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(継承元 MarshalByRefObject)
Dispose()

DbDataReader クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。Releases all resources used by the current instance of the DbDataReader class.

(継承元 DbDataReader)
Dispose(Boolean)

DbDataReader で使用されたアンマネージド リソースを解放し、必要に応じてマネージド リソースも解放します。Releases the unmanaged resources used by the DbDataReader and optionally releases the managed resources.

(継承元 DbDataReader)
DisposeAsync()

DbDataReader クラスの現在のインスタンスによって使用されているすべてのリソースを非同期で解放します。Asynchronously releases all resources used by the current instance of the DbDataReader class.

(継承元 DbDataReader)
Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
Finalize()

オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。Allows the object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.

GetBoolean(Int32)

指定した列の値をブール値として取得します。Gets the value of the specified column as a Boolean.

GetByte(Int32)

指定した列の値をバイトとして取得します。Gets the value of the specified column as a byte.

GetBytes(Int32, Int64, Byte[], Int32, Int32)

特定のバッファー オフセットを開始位置として、指定した列オフセットからバッファーに、バイトのストリームを配列として読み込みます。Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the particular buffer offset.

GetChar(Int32)

指定した列の値を文字として取得します。Gets the value of the specified column as a character.

GetChars(Int32, Int64, Char[], Int32, Int32)

指定したバッファー オフセットを開始位置として、指定した列オフセットからバッファーに、文字のストリームを配列として読み込みます。Reads a stream of characters from the specified column offset into the buffer as an array, starting at the particular buffer offset.

GetData(Int32)

指定された列序数の IDataReader を返します。Returns an IDataReader for the specified column ordinal.

GetData(Int32)

要求された列に対して、入れ子になったデータ リーダーを返します。Returns a nested data reader for the requested column.

(継承元 DbDataReader)
GetDataTypeName(Int32)

ソース データ型名を取得します。Gets the name of the source data type.

GetDate(Int32)

指定した列の値を DateTime オブジェクトとして取得します。Gets the value of the specified column as a DateTime object.

GetDateTime(Int32)

指定した列の値を DateTime オブジェクトとして取得します。Gets the value of the specified column as a DateTime object.

GetDbDataReader(Int32)

プロバイダー固有の実装でオーバーライドできる、要求された列序数に対応した DbDataReader オブジェクトを返します。Returns a DbDataReader object for the requested column ordinal that can be overridden with a provider-specific implementation.

(継承元 DbDataReader)
GetDecimal(Int32)

指定した列の値を Decimal オブジェクトとして取得します。Gets the value of the specified column as a Decimal object.

GetDouble(Int32)

指定した列の値を倍精度浮動小数点数として取得します。Gets the value of the specified column as a double-precision floating-point number.

GetEnumerator()

データ リーダー内の行に対して反復処理を行うために使用できる IEnumerator を返します。Returns an IEnumerator that can be used to iterate through the rows in the data reader.

GetFieldType(Int32)

オブジェクトのデータ型である Type を取得します。Gets the Type that is the data type of the object.

GetFieldValue<T>(Int32)

要求された型として指定した列の値を取得します。Gets the value of the specified column as the requested type.

(継承元 DbDataReader)
GetFieldValueAsync<T>(Int32)

要求された型として指定された列の値を非同期で取得します。Asynchronously gets the value of the specified column as the requested type.

(継承元 DbDataReader)
GetFieldValueAsync<T>(Int32, CancellationToken)

要求された型として指定された列の値を非同期で取得します。Asynchronously gets the value of the specified column as the requested type.

(継承元 DbDataReader)
GetFloat(Int32)

指定した列の値を単精度浮動小数点数として取得します。Gets the value of the specified column as a single-precision floating-point number.

GetGuid(Int32)

指定した列の値をグローバル一意識別子 (GUID) として取得します。Gets the value of the specified column as a globally unique identifier (GUID).

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetInt16(Int32)

指定した列の値を 16 ビット符号付き整数として取得します。Gets the value of the specified column as a 16-bit signed integer.

GetInt32(Int32)

指定した列の値を 32 ビット符号付き整数として取得します。Gets the value of the specified column as a 32-bit signed integer.

GetInt64(Int32)

指定した列の値を 64 ビット符号付き整数として取得します。Gets the value of the specified column as a 64-bit signed integer.

GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(継承元 MarshalByRefObject)
GetName(Int32)

指定した列の名前を取得します。Gets the name of the specified column.

GetOrdinal(String)

指定した列の名前から列の序数を取得します。Gets the column ordinal, given the name of the column.

GetProviderSpecificFieldType(Int32)

指定された列のプロバイダー固有の型を取得します。Gets the provider-specific type of the specified column.

(継承元 DbDataReader)
GetProviderSpecificValue(Int32)

指定された列の値をプロバイダー固有の型のインスタンスとして取得します。Gets the value of the specified column as an instance of a provider-specific type.

(継承元 DbDataReader)
GetProviderSpecificValues(Object[])

現在の行のコレクション内にあるプロバイダー固有の属性列をすべて取得します。Gets all provider-specific attribute columns in the collection for the current row.

(継承元 DbDataReader)
GetSchemaTable()

OdbcDataReader の列メタデータを表す DataTable を返します。Returns a DataTable that describes the column metadata of the OdbcDataReader.

GetStream(Int32)

指定された列からデータを取得する目的でストリームを取得します。Gets a stream to retrieve data from the specified column.

(継承元 DbDataReader)
GetString(Int32)

指定した列の値を String として取得します。Gets the value of the specified column as a String.

GetTextReader(Int32)

列からデータを取得する目的でテキスト リーダーを取得します。Gets a text reader to retrieve data from the column.

(継承元 DbDataReader)
GetTime(Int32)

指定した列の値を TimeSpan オブジェクトとして取得します。Gets the value of the specified column as a TimeSpan object.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
GetValue(Int32)

指定した序数の列の値をネイティブ形式で取得します。Gets the value of the column at the specified ordinal in its native format.

GetValues(Object[])

オブジェクトの配列に現在の行の列値を入力します。Populates an array of objects with the column values of the current row.

InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(継承元 MarshalByRefObject)
IsDBNull(Int32)

存在しない値や欠落値が列に含まれているかどうかを示す値を取得します。Gets a value that indicates whether the column contains nonexistent or missing values.

IsDBNullAsync(Int32)

列に格納されている値が存在しない値または欠損値かどうかを示す値を非同期で取得します。Asynchronously gets a value that indicates whether the column contains non-existent or missing values.

(継承元 DbDataReader)
IsDBNullAsync(Int32, CancellationToken)

列に格納されている値が存在しない値または欠損値かどうかを示す値を非同期で取得します。Asynchronously gets a value that indicates whether the column contains non-existent or missing values.

(継承元 DbDataReader)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(継承元 MarshalByRefObject)
NextResult()

バッチ SQL ステートメントの結果を読み込むときに、OdbcDataReader を次の結果に進めます。Advances the OdbcDataReader to the next result when reading the results of batch SQL statements.

NextResultAsync()

バッチ ステートメントの結果を読み取っているときに、次の結果にリーダーを非同期で進めます。Asynchronously advances the reader to the next result when reading the results of a batch of statements.

(継承元 DbDataReader)
NextResultAsync(CancellationToken)

バッチ ステートメントの結果を読み取っているときに、次の結果にリーダーを非同期で進めます。Asynchronously advances the reader to the next result when reading the results of a batch of statements.

(継承元 DbDataReader)
Read()

次のレコードに OdbcDataReader を進めます。Advances the OdbcDataReader to the next record.

ReadAsync()

結果セット内の次のレコードにリーダーを非同期で進めます。Asynchronously advances the reader to the next record in a result set.

(継承元 DbDataReader)
ReadAsync(CancellationToken)

結果セット内の次のレコードにリーダーを非同期で進めます。Asynchronously advances the reader to the next record in a result set.

(継承元 DbDataReader)
ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

明示的なインターフェイスの実装

IDataReader.Close()

このメンバーの説明については、Close() のトピックを参照してください。For a description of this member, see Close().

(継承元 DbDataReader)
IDataReader.GetSchemaTable()

このメンバーの説明については、GetSchemaTable() のトピックを参照してください。For a description of this member, see GetSchemaTable().

(継承元 DbDataReader)
IDataRecord.GetData(Int32)

このメンバーの説明については、GetData(Int32) のトピックを参照してください。For a description of this member, see GetData(Int32).

(継承元 DbDataReader)
IDisposable.Dispose()

OdbcDataReader クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。Releases all resources used by the current instance of the OdbcDataReader class.

IEnumerable.GetEnumerator()

コレクションを繰り返し処理する列挙子を返します。Returns an enumerator that iterates through a collection.

拡張メソッド

CanGetColumnSchema(DbDataReader)

DbDataReader が列スキーマを取得できるかどうかを示す値を取得します。Gets a value that indicates whether a DbDataReader can get a column schema.

GetColumnSchema(DbDataReader)

DbDataReader 用に、列のスキーマ (DbColumn コレクション) を取得します。Gets the column schema (DbColumn collection) for a DbDataReader.

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象

こちらもご覧ください