共用方式為


OdbcDataReader 類別

定義

提供從數據源讀取順向數據列數據流的方式。 無法繼承這個類別。

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
實作

範例

下列範例會建立 OdbcConnectionOdbcCommandOdbcDataReader。 此範例會讀取數據,並將其寫出至主控台。 最後,此範例會關閉 OdbcDataReader,然後關閉 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 方法,而不是直接使用建構函式。

使用 OdbcDataReader 時,相關聯的 OdbcConnection 正忙於處理 OdbcDataReader,而且除了關閉 OdbcConnection 之外,無法執行其他作業。 這是直到呼叫 OdbcDataReaderClose 方法為止。 例如,在呼叫 Close之後,您才能擷取輸出參數。

在讀取數據時,對另一個進程或線程對結果集所做的變更,可能會對 OdbcDataReader的用戶可見。 不過,精確的行為同時取決於驅動程式和計時。

IsClosedRecordsAffected 是唯一可在關閉 OdbcDataReader 之後呼叫的屬性。 有時候,您必須先呼叫 Close,才能呼叫 RecordsAffected

屬性

Depth

取得值,這個值表示目前數據列的巢狀深度。

FieldCount

取得目前數據列中的數據行數目。

HasRows

取得值,這個值表示 OdbcDataReader 是否包含一或多個數據列。

IsClosed

指出 OdbcDataReader 是否已關閉。

Item[Int32]

取得指定資料行的原生格式,指定資料行序數的值。

Item[String]

取得指定數據行名稱的原生格式指定數據行的值。

RecordsAffected

取得執行 SQL 語句所變更、插入或刪除的數據列數目。

VisibleFieldCount

取得 DbDataReader 中未隱藏的欄位數目。

(繼承來源 DbDataReader)

方法

Close()

關閉 OdbcDataReader 物件。

CloseAsync()

以異步方式關閉 DbDataReader 物件。

(繼承來源 DbDataReader)
CreateObjRef(Type)

建立物件,其中包含產生用來與遠端物件通訊之 Proxy 所需的所有相關信息。

(繼承來源 MarshalByRefObject)
Dispose()

釋放目前 DbDataReader 類別實例所使用的所有資源。

(繼承來源 DbDataReader)
Dispose(Boolean)

釋放 DbDataReader 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 DbDataReader)
DisposeAsync()

以異步方式釋放目前 DbDataReader 類別實例所使用的所有資源。

(繼承來源 DbDataReader)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Finalize()

允許 對象嘗試釋放資源,並在垃圾收集回收之前執行其他清除作業。

GetBoolean(Int32)

取得指定之數據行的值做為布爾值。

GetByte(Int32)

取得指定數據行的值做為位元組。

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

從指定的數據行位移讀取位元組數據流,做為陣列,從特定的緩衝區位移開始。

GetChar(Int32)

取得指定數據行的值做為字元。

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

從指定的數據行位移讀取字串流到緩衝區做為陣列,從特定的緩衝區位移開始。

GetColumnSchemaAsync(CancellationToken)

這是 GetColumnSchema(DbDataReader)的異步版本。 提供者應該以適當的實作覆寫。 可以選擇性地接受 cancellationToken。 默認實作會叫用同步 GetColumnSchema(DbDataReader) 呼叫,並傳回已完成的工作。 如果傳遞已取消的工作,則預設實作會傳回已取消的工作,cancellationTokenGetColumnSchema(DbDataReader) 擲回的例外狀況將會透過傳回的工作例外狀況屬性進行通訊。

(繼承來源 DbDataReader)
GetData(Int32)

傳回指定之數據行序數的 IDataReader

GetData(Int32)

傳回所要求數據行的巢狀數據讀取器。

(繼承來源 DbDataReader)
GetDataTypeName(Int32)

取得源數據類型的名稱。

GetDate(Int32)

取得指定之數據行的值做為 DateTime 物件。

GetDateTime(Int32)

取得指定之數據行的值做為 DateTime 物件。

GetDbDataReader(Int32)

針對可使用提供者特定實作覆寫的要求數據行序數,傳回 DbDataReader 物件。

(繼承來源 DbDataReader)
GetDecimal(Int32)

取得指定之數據行的值做為 Decimal 物件。

GetDouble(Int32)

取得指定數據行的值,做為雙精確度浮點數。

GetEnumerator()

傳回 IEnumerator,可用來逐一查看數據讀取器中的數據列。

GetFieldType(Int32)

取得對象資料類型的 Type

GetFieldValue<T>(Int32)

取得指定數據行的值做為要求的型別。

(繼承來源 DbDataReader)
GetFieldValueAsync<T>(Int32, CancellationToken)

以異步方式取得指定數據行的值做為要求的型別。

(繼承來源 DbDataReader)
GetFieldValueAsync<T>(Int32)

以異步方式取得指定數據行的值做為要求的型別。

(繼承來源 DbDataReader)
GetFloat(Int32)

取得指定數據行的值做為單精度浮點數。

GetGuid(Int32)

取得指定數據行的值,做為全域唯一標識碼 (GUID)。

GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetInt16(Int32)

取得指定數據行的值,做為16位帶正負號的整數。

GetInt32(Int32)

取得指定數據行的值,做為32位帶正負號的整數。

GetInt64(Int32)

取得指定數據行的值,做為64位帶正負號的整數。

GetLifetimeService()
已淘汰.

擷取控制這個實例存留期原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetName(Int32)

取得指定數據行的名稱。

GetOrdinal(String)

取得資料列序數,指定資料行的名稱。

GetProviderSpecificFieldType(Int32)

取得指定之數據行的提供者特定型別。

(繼承來源 DbDataReader)
GetProviderSpecificValue(Int32)

取得指定數據行的值,做為提供者特定型別的實例。

(繼承來源 DbDataReader)
GetProviderSpecificValues(Object[])

取得目前數據列集合中的所有提供者特定屬性數據行。

(繼承來源 DbDataReader)
GetSchemaTable()

傳回描述 OdbcDataReader之數據行元數據的 DataTable

GetSchemaTableAsync(CancellationToken)

這是 GetSchemaTable()的異步版本。 提供者應該以適當的實作覆寫。 可以選擇性地接受 cancellationToken。 默認實作會叫用同步 GetSchemaTable() 呼叫,並傳回已完成的工作。 如果傳遞已取消的工作,則預設實作會傳回已取消的工作,cancellationTokenGetSchemaTable() 擲回的例外狀況將會透過傳回的工作例外狀況屬性進行通訊。

(繼承來源 DbDataReader)
GetStream(Int32)

取得數據流,以從指定的數據行擷取數據。

(繼承來源 DbDataReader)
GetString(Int32)

取得指定資料列的值做為 String

GetTextReader(Int32)

取得文字讀取器,以從數據行擷取數據。

(繼承來源 DbDataReader)
GetTime(Int32)

取得指定之數據行的值做為 TimeSpan 物件。

GetType()

取得目前實例的 Type

(繼承來源 Object)
GetValue(Int32)

取得以原生格式指定序數處的數據行值。

GetValues(Object[])

使用目前數據列的數據行值填入 物件的陣列。

InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個實例的存留期原則。

(繼承來源 MarshalByRefObject)
IsDBNull(Int32)

取得值,這個值表示數據行是否包含不存在或遺漏的值。

IsDBNullAsync(Int32, CancellationToken)

以異步方式取得值,指出數據行是否包含不存在或遺漏的值。

(繼承來源 DbDataReader)
IsDBNullAsync(Int32)

以異步方式取得值,指出數據行是否包含不存在或遺漏的值。

(繼承來源 DbDataReader)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 對象的淺層複本。

(繼承來源 MarshalByRefObject)
NextResult()

讀取批次 SQL 語句的結果時,將 OdbcDataReader 前進到下一個結果。

NextResultAsync()

讀取語句批次的結果時,以異步方式將讀取器前進到下一個結果。

(繼承來源 DbDataReader)
NextResultAsync(CancellationToken)

讀取語句批次的結果時,以異步方式將讀取器前進到下一個結果。

(繼承來源 DbDataReader)
Read()

OdbcDataReader 前進到下一筆記錄。

ReadAsync()

以異步方式將讀取器前進到結果集中的下一筆記錄。

(繼承來源 DbDataReader)
ReadAsync(CancellationToken)

以異步方式將讀取器前進到結果集中的下一筆記錄。

(繼承來源 DbDataReader)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

明確介面實作

IDataRecord.GetData(Int32)

如需此成員的描述,請參閱 GetData(Int32)

(繼承來源 DbDataReader)
IDisposable.Dispose()

此 API 支援此產品基礎結構,但無法直接用於程式碼之中。

釋放目前 OdbcDataReader 類別實例所使用的所有資源。

IEnumerable.GetEnumerator()

此 API 支援此產品基礎結構,但無法直接用於程式碼之中。

傳回逐一查看集合的列舉值。

擴充方法

CanGetColumnSchema(DbDataReader)

取得值,這個值表示 DbDataReader 是否可以取得數據行架構。

GetColumnSchema(DbDataReader)

取得 DbDataReader的數據行架構 (DbColumn 集合)。

GetBoolean(DbDataReader, String)

取得指定之數據行的值做為布爾值。

GetByte(DbDataReader, String)

取得指定數據行的值做為位元組。

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

從指定索引開始的指定數據行讀取指定的位元組數目,並將其寫入緩衝區中從指定位置開始的緩衝區。

GetChar(DbDataReader, String)

取得指定數據行的值做為單一字元。

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

從指定索引開始的指定數據行讀取指定的字元數,並將其寫入從指定位置開始的緩衝區。

GetData(DbDataReader, String)

傳回所要求數據行的巢狀數據讀取器。

GetDataTypeName(DbDataReader, String)

取得指定數據行之數據類型的名稱。

GetDateTime(DbDataReader, String)

取得指定之數據行的值做為 DateTime 物件。

GetDecimal(DbDataReader, String)

取得指定資料列的值做為 Decimal

GetDouble(DbDataReader, String)

取得指定數據行的值,做為雙精確度浮點數。

GetFieldType(DbDataReader, String)

取得指定數據行的數據類型。

GetFieldValue<T>(DbDataReader, String)

取得指定數據行的值做為要求的型別。

GetFieldValueAsync<T>(DbDataReader, String, CancellationToken)

以異步方式取得指定數據行的值做為要求的型別。

GetFloat(DbDataReader, String)

取得指定數據行的值做為單精度浮點數。

GetGuid(DbDataReader, String)

取得指定數據行的值,做為全域唯一標識碼 (GUID)。

GetInt16(DbDataReader, String)

取得指定數據行的值,做為16位帶正負號的整數。

GetInt32(DbDataReader, String)

取得指定數據行的值,做為32位帶正負號的整數。

GetInt64(DbDataReader, String)

取得指定數據行的值,做為64位帶正負號的整數。

GetProviderSpecificFieldType(DbDataReader, String)

取得指定之數據行的提供者特定型別。

GetProviderSpecificValue(DbDataReader, String)

取得指定數據行的值,做為提供者特定型別的實例。

GetStream(DbDataReader, String)

取得數據流,以從指定的數據行擷取數據。

GetString(DbDataReader, String)

取得指定數據行的值,做為 String的實例。

GetTextReader(DbDataReader, String)

取得文字讀取器,以從數據行擷取數據。

GetValue(DbDataReader, String)

取得指定數據行的值,做為 Object的實例。

IsDBNull(DbDataReader, String)

取得值,這個值表示數據行是否包含不存在或遺漏的值。

IsDBNullAsync(DbDataReader, String, CancellationToken)

以異步方式取得值,指出數據行是否包含不存在或遺漏的值。

Cast<TResult>(IEnumerable)

IEnumerable 的項目轉換成指定的型別。

OfType<TResult>(IEnumerable)

根據指定的型別篩選 IEnumerable 的專案。

AsParallel(IEnumerable)

啟用查詢的平行處理。

AsQueryable(IEnumerable)

IEnumerable 轉換成 IQueryable

ConfigureAwait(IAsyncDisposable, Boolean)

設定如何執行從異步可處置專案傳回的工作等候。

適用於

另請參閱