다음을 통해 공유


OleDbDataReader 클래스

데이터 소스에서 데이터 행의 앞으로만 이동 가능한 스트림을 읽는 방법을 제공합니다. 이 클래스는 상속될 수 없습니다.

네임스페이스: System.Data.OleDb
어셈블리: System.Data(system.data.dll)

구문

‘선언
Public NotInheritable Class OleDbDataReader
    Inherits DbDataReader
‘사용 방법
Dim instance As OleDbDataReader
public sealed class OleDbDataReader : DbDataReader
public ref class OleDbDataReader sealed : public DbDataReader
public final class OleDbDataReader extends DbDataReader
public final class OleDbDataReader extends DbDataReader

설명

OleDbDataReader를 만들려면, 직접 생성자를 사용하지 않고 OleDbCommand 개체의 ExecuteReader 메서드를 호출해야 합니다.

OleDbDataReader가 사용 중이면 관련 OleDbConnectionOleDbDataReader를 사용하고 있으며, 이를 닫지 않으면 OleDbConnection에서 다른 작업을 수행할 수 없습니다. 이런 상태는 OleDbDataReaderClose 메서드가 호출될 때까지 적용됩니다. 예를 들어, Close를 호출할 때까지 출력 매개 변수를 검색할 수 없습니다.

데이터를 읽는 동안 다른 프로세스나 스레드에서 결과 집합을 변경하면 OleDbDataReader의 사용자가 이를 볼 수 있습니다. 그러나 세부적인 동작은 타이밍에 따라 달라집니다.

IsClosedRecordsAffectedOleDbDataReader를 닫은 후에 호출할 수 있는 유일한 속성입니다. OleDbDataReader가 존재하는 동안에는 RecordsAffected 속성에 액세스할 수 있지만, 정확한 반환 값을 얻으려면 RecordsAffected의 값을 반환하기 전에 항상 Close를 호출하십시오.

예제

다음 예제에서는 OleDbConnection, OleDbCommandOleDbDataReader를 만듭니다. 이 예제에서는 데이터를 읽고 해당 데이터를 콘솔에 씁니다. 마지막으로 OleDbDataReader, OleDbConnection을 차례로 닫습니다.

Public Sub ReadData(ByVal connectionString As String, _
    ByVal queryString As String)
    Using connection As New OleDbConnection(connectionString)
        Dim command As New OleDbCommand(queryString, connection)

        connection.Open()

        Dim reader As OleDbDataReader = command.ExecuteReader()
        While reader.Read()
            Console.WriteLine(reader(0).ToString())
        End While
        reader.Close()
    End Using
End Sub
public static void ReadData(string connectionString, string queryString)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand(queryString, connection);

        connection.Open();
        OleDbDataReader reader = command.ExecuteReader();

        while (reader.Read())
        {
            Console.WriteLine(reader[0].ToString());
        }
        reader.Close();
    }
}
using System;
using System.Data;
using System.Data.OleDb;

class Class1
{
    static void Main()
    {
        //string x = "Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI;Initial Catalog=Northwind";
        //ReadData(x);
    }

    public static void ReadData(string connectionString, string queryString)
    {
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            OleDbCommand command = new OleDbCommand(queryString, connection);

            connection.Open();
            OleDbDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                Console.WriteLine(reader[0].ToString());
            }
            reader.Close();
        }
    }

상속 계층 구조

System.Object
   System.MarshalByRefObject
     System.Data.Common.DbDataReader
      System.Data.OleDb.OleDbDataReader

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

OleDbDataReader 멤버
System.Data.OleDb 네임스페이스

기타 리소스

DataReaders 사용