다음을 통해 공유


SqlCeDataReader 클래스

데이터 원본에서 데이터 행의 정방향 전용 스트림을 읽는 방법을 제공합니다. 이 클래스는 상속될 수 없습니다.

네임스페이스:  System.Data.SqlServerCe
어셈블리:  System.Data.SqlServerCe.dll의 System.Data.SqlServerCe

구문

‘선언
Public Class SqlCeDataReader _
    Inherits DbDataReader
‘사용 방법
Dim instance As SqlCeDataReader
public class SqlCeDataReader : DbDataReader
public ref class SqlCeDataReader : public DbDataReader
type SqlCeDataReader =  
    class
        inherit DbDataReader
    end
public class SqlCeDataReader extends DbDataReader

주의

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

SqlCeDataReader 사용 중에는 관련 SqlCeConnection이 SqlCeDataReader의 역할을 수행합니다. 이 상태에서 같은 연결에 여러 판독기를 만들 수 있습니다.

데이터를 읽는 동안 다른 프로세스나 스레드에서 결과 집합을 변경하면 SqlCeDataReader의 사용자가 이를 볼 수 있지만 세부 동작은 이러한 상황이 발생한 시점에 따라 달라집니다.

IsClosedRecordsAffected는 SqlCeDataReader를 닫은 후에 호출할 수 있는 유일한 속성입니다. SqlCeDataReader가 존재하는 동안 언제나 RecordsAffected 속성에 액세스할 수 있지만, RecordsAffected의 값을 반환하기 전에 항상 Close를 호출하여 반환 값이 정확하도록 합니다.

예제

다음 예제에서는 SqlCeConnection, SqlCeCommand, SqlCeDataReader 등을 만듭니다. 예제에서는 데이터를 읽어서 콘솔에 쓴 다음 SqlCeDataReader와 SqlCeConnection을 닫습니다.

Dim conn As SqlCeConnection = Nothing
Dim cmd As SqlCeCommand = Nothing
Dim rdr As SqlCeDataReader = Nothing

Try
    ' Open the connection and create a SQL command
    '
    conn = New SqlCeConnection("Data Source = AdventureWorks.sdf")
    conn.Open()

    cmd = New SqlCeCommand("SELECT * FROM DimEmployee", conn)

    rdr = cmd.ExecuteReader()

    ' Iterate through the results
    '
    While rdr.Read()
        Dim employeeID As Integer = rdr.GetInt32(0) ' or: rdr["EmployeeKey"];
        Dim lastName As String = rdr.GetString(5) ' or: rdr["FirstName"];
    End While

    ' Always dispose data readers and commands as soon as practicable
    '
    rdr.Close()
    cmd.Dispose()
Finally
    ' Close the connection when no longer needed
    '
    conn.Close()
End Try
SqlCeConnection conn = null;
SqlCeCommand cmd = null;
SqlCeDataReader rdr = null;

try
{
    // Open the connection and create a SQL command
    //
    conn = new SqlCeConnection("Data Source = AdventureWorks.sdf");
    conn.Open();

    cmd = new SqlCeCommand("SELECT * FROM DimEmployee", conn);

    rdr = cmd.ExecuteReader();

    // Iterate through the results
    //
    while (rdr.Read())
    {
        int employeeID = rdr.GetInt32(0);   // or: rdr["EmployeeKey"];
        string lastName = rdr.GetString(5); // or: rdr["FirstName"];
    }

    // Always dispose data readers and commands as soon as practicable
    //
    rdr.Close();
    cmd.Dispose();
}
finally
{
    // Close the connection when no longer needed
    //
    conn.Close();
}

상속 계층 구조

System. . :: . .Object
  System. . :: . .MarshalByRefObject
    System.Data.Common. . :: . .DbDataReader
      System.Data.SqlServerCe..::..SqlCeDataReader
        System.Data.SqlServerCe. . :: . .SqlCeResultSet

스레드로부터의 안전성

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

참고 항목

참조

SqlCeDataReader 멤버

System.Data.SqlServerCe 네임스페이스