OdbcDataReader 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供從數據源讀取順向數據列數據流的方式。 此類別無法獲得繼承。
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
- 繼承
- 繼承
- 繼承
- 實作
範例
以下範例可產生一個 OdbcConnection、 、 OdbcCommand和 OdbcDataReader。 此範例會讀取數據,並將其寫出至主控台。 最後,範例封 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你必須呼叫 ExecuteReader 物件的方法 OdbcCommand ,而不是直接使用建構子。
在 被使用時 OdbcDataReader ,關聯 OdbcConnection 節點正忙於服務 OdbcDataReader,且除了關閉 之外,無法對其他操作執行 OdbcConnection 。 直到呼叫 的方法Close為止,情況會一直如此OdbcDataReader。 例如,你無法在呼叫 Close之前取得輸出參數。
在資料讀取過程中,其他程序或執行緒對結果所做的變更,使用者可能會看到 OdbcDataReader。 然而,具體行為會依驅動程式和時間而異。
IsClosed 和 RecordsAffected 是關閉後 OdbcDataReader 你唯一能調用的屬性。 有時候,你必須先打電話 Close 才能打電話 RecordsAffected。
屬性
| 名稱 | Description |
|---|---|
| Depth |
取得值,這個值表示目前數據列的巢狀深度。 |
| FieldCount |
取得目前數據列中的數據行數目。 |
| HasRows |
會得到一個值,表示是否 OdbcDataReader 包含一列或多列。 |
| IsClosed |
表示是否 OdbcDataReader 已關閉。 |
| Item[Int32] |
取得指定資料行的原生格式,指定資料行序數的值。 |
| Item[String] |
取得指定數據行名稱的原生格式指定數據行的值。 |
| RecordsAffected |
取得執行 SQL 陳述句時所變更、插入或刪除的列數。 |
| VisibleFieldCount |
取得中未被隱藏的欄位 DbDataReader 數量。 (繼承來源 DbDataReader) |
方法
明確介面實作
| 名稱 | Description |
|---|---|
| IDataRecord.GetData(Int32) |
關於此成員的描述,請參見 GetData(Int32)。 (繼承來源 DbDataReader) |
| IDisposable.Dispose() |
此 API 支援此產品基礎結構,但無法直接用於程式碼之中。 釋放目前類別實例 OdbcDataReader 所使用的所有資源。 |
| IEnumerable.GetEnumerator() |
此 API 支援此產品基礎結構,但無法直接用於程式碼之中。 傳回逐一查看集合的列舉值。 |
擴充方法
| 名稱 | Description |
|---|---|
| AsParallel(IEnumerable) |
啟用查詢的平行處理。 |
| AsQueryable(IEnumerable) |
將 IEnumerable 轉換成 IQueryable。 |
| CanGetColumnSchema(DbDataReader) |
會得到一個值,表示 a DbDataReader 是否能取得欄位結構。 |
| Cast<TResult>(IEnumerable) |
將 IEnumerable 的項目轉換成指定的型別。 |
| GetColumnSchema(DbDataReader) |
取得欄位結構(DbColumn 集合)的 DbDataReader。 |
| OfType<TResult>(IEnumerable) |
根據指定的型別篩選 IEnumerable 的專案。 |