次の方法で共有


OdbcDataReader クラス

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

データ ソースからデータ行の前方向ストリームを読み取る方法を提供します。このクラスは継承できません。

この型のすべてのメンバの一覧については、OdbcDataReader メンバ を参照してください。

System.Object
   System.MarshalByRefObject
      System.Data.Odbc.OdbcDataReader

NotInheritable Public Class OdbcDataReader
   Inherits MarshalByRefObject
   Implements IDataReader, IDisposable, IDataRecord, IEnumerable
[C#]
public sealed class OdbcDataReader : MarshalByRefObject,
   IDataReader, IDisposable, IDataRecord, IEnumerable
[C++]
public __gc __sealed class OdbcDataReader : public
   MarshalByRefObject, IDataReader, IDisposable, IDataRecord,
   IEnumerable
[JScript]
public class OdbcDataReader extends MarshalByRefObject implements
   IDataReader, IDisposable, IDataRecord, IEnumerable

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

OdbcDataReader を作成するには、コンストラクタを直接使用せずに、 OdbcCommand オブジェクトの ExecuteReader メソッドを呼び出す必要があります。

OdbcDataReader の使用中は、関連付けられた OdbcConnection は、その OdbcDataReader によって使用されるためビジー状態になります。この間、 OdbcConnection に対して、閉じる以外の操作は実行できません。 OdbcDataReaderClose メソッドを呼び出すまでこの状態が続きます。たとえば、 Close を呼び出すまで、出力パラメータを取得できません。

データの読み取り中に別のプロセスまたはスレッドが結果セットに加えた変更が、 OdbcDataReader のユーザーに表示されることがあります。ただし、正確な動作はドライバとタイミングによって異なります。

OdbcDataReader を閉じた後に呼び出すことができるのは、 IsClosed プロパティと RecordsAffected プロパティだけです。場合によっては、 RecordsAffected を呼び出す前に Close を呼び出す必要があります。

使用例

[Visual Basic, C#, C++] OdbcConnectionOdbcCommand 、および OdbcDataReader を作成する例を次に示します。この例では、データを読み取り、コンソールに出力します。最後に、 OdbcDataReader を閉じ、 OdbcConnection を閉じます。

 
Public Sub ReadMyData(myConnString As String)
    Dim mySelectQuery As String = "SELECT OrderID, CustomerID FROM Orders"
    Dim myConnection As New OdbcConnection(myConnString)
    Dim myCommand As New OdbcCommand(mySelectQuery, myConnection)
    myConnection.Open()
    Dim myReader As OdbcDataReader
    myReader = myCommand.ExecuteReader()
    ' Always call Read before accessing data.
    While myReader.Read()
        Console.WriteLine(myReader.GetInt32(0).ToString() + ", " _
           + myReader.GetString(1))
    End While
    ' always call Close when done reading.
    myReader.Close()
    ' Close the connection when done with it.
    myConnection.Close()
End Sub

[C#] 
public void ReadMyData(string myConnString) {
   string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders";
   OdbcConnection myConnection = new OdbcConnection(myConnString);
   OdbcCommand myCommand = new OdbcCommand(mySelectQuery,myConnection);
   myConnection.Open();
   OdbcDataReader myReader;
   myReader = myCommand.ExecuteReader();
   // Always call Read before accessing data.
   while (myReader.Read()) {
      Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1));
   }
   // always call Close when done reading.
   myReader.Close();
   // Close the connection when done with it.
   myConnection.Close();
}

[C++] 
public:
    void ReadMyData(String* myConnString)
    {
        String* mySelectQuery = S"SELECT OrderID, CustomerID FROM Orders";
        OdbcConnection* myConnection = new OdbcConnection(myConnString);
        OdbcCommand* myCommand = new OdbcCommand(mySelectQuery, myConnection);
        myConnection->Open();
        OdbcDataReader* myReader;
        myReader = myCommand->ExecuteReader();
        // Always call Read before accessing data.
        while (myReader->Read()) {
            Console::WriteLine(S"{0}, {1}", __box(myReader->GetInt32(0)), myReader->GetString(1));
        }
        // always call Close when done reading.
        myReader->Close();
        // Close the connection when done with it.
        myConnection->Close();
    };

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Data.Odbc

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Data (System.Data.dll 内)

参照

OdbcDataReader メンバ | System.Data.Odbc 名前空間