System.Data 命名空間


.NET Framework 類別庫
IDataReader 介面

更新:2007 年 11 月

提供方法來讀取一或多個藉由在資料來源處執行命令所取得的順向資料流之結果集 (Result Set),並由存取關聯式資料庫的 .NET 資料提供者 (Data Provider) 實作。

命名空間:  System.Data
組件:  System.Data (在 System.Data.dll 中)
語法

Visual Basic (宣告)
Public Interface IDataReader _
    Implements IDisposable, IDataRecord
Visual Basic (使用方式)
Dim instance As IDataReader
C#
public interface IDataReader : IDisposable, 
    IDataRecord
Visual C++
public interface class IDataReader : IDisposable, 
    IDataRecord
J#
public interface IDataReader extends IDisposable, 
    IDataRecord
JScript
public interface IDataReader extends IDisposable, IDataRecord
備註

IDataReaderIDataRecord 介面允許繼承的類別 (Class) 實作 DataReader 類別,以提供讀取一或多個順向資料流之結果集的方法。如需 DataReader 類別的詳細資訊,請參閱使用 DataReader 來擷取資料 (ADO.NET)

應用程式並不直接建立 IDataReader 介面的執行個體,但會建立繼承 IDataReader 的類別的執行個體。

繼承 IDataReader 的類別必須實作繼承的成員,並通常會定義其他成員來加入特定提供者的功能。

讀取資料時,實作 IDataReader 的類別之使用者可能會看見另一個處理序 (Process) 或執行緒對結果集所做的變更。然而,精確的行為則取決於提供者和執行時間。

實作器注意事項

若要增強 .NET Framework 資料提供者之間的一致性,請以 Prv Command 格式 (其中 Prv 為指定給特定 .NET Framework 資料提供者命名空間中所有類別的制式前置詞) 命名繼承類別。例如,SqlSystem.Data.SqlClient 命名空間中之 SqlDataAdapter 類別的前置詞。

使用者不會直接建立 DataReader 類別的執行個體,而是透過 Command 物件的 ExecuteReader 方法取得 DataReader 執行個體。因此,您應該將 DataReader 建構函式 (Constructor) 標記為內部使用。

範例

下列範例建立衍生類別 (Derived Class) SqlConnectionSqlCommandSqlDataReader 的執行個體。此範例會讀取全部的資料,並將它寫出至主控台。最後,範例會關閉 SqlDataReader,然後關閉 SqlConnection

Visual Basic
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
C#
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();
    }
}
平台

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求
版本資訊

.NET Framework

支援版本:3.5、3.0、2.0、1.1、1.0

.NET Compact Framework

支援版本:3.5、2.0、1.0

XNA Framework

支援版本:1.0
請參閱

參考

標記 :


Page view tracker