이 설명서는 보관되지만 유지 되지 않습니다.

IDataRecord 인터페이스

업데이트: 2007년 11월

DataReader의 각 행에 있는 열 값에 대한 액세스를 제공하며, 관계형 데이터베이스에 액세스하는 .NET Framework 데이터 공급자에 의해 구현됩니다.

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

public interface IDataRecord
public interface IDataRecord
public interface IDataRecord

IDataReaderIDataRecord 인터페이스를 사용하면 상속하는 클래스가 DataReader 클래스를 구현하도록 할 수 있습니다. 이렇게 하면 결과 집합의 앞으로만 이동 가능한 스트림을 하나 이상 읽을 수 있습니다. DataReader 클래스에 대한 자세한 내용은 DataReader를 사용하여 데이터 검색(ADO.NET)을 참조하십시오.

응용 프로그램은 IDataRecord 인터페이스의 인스턴스를 직접 만들지 않고 IDataRecord를 상속하는 클래스의 인스턴스를 만듭니다. 일반적으로 이 경우 Command 개체의 ExecuteReader 메서드를 통해 DataReader를 가져오는 방법을 사용합니다.

IDataRecord을 상속하는 클래스는 상속된 멤버를 모두 구현해야 하며 일반적으로 공급자 고유의 기능을 추가하기 위한 추가 멤버를 정의합니다.

DataReader를 구현하는 공급자는 CLR(공용 언어 런타임) 형식으로 데이터를 노출해야 합니다. 형식 강제 변환은 CLR에 포함되지 않은 일부 형식에 대해 정의되는데, 이러한 값은 CLR 형식을 따르는 대체 형식으로서 액세스할 수 있습니다. 예를 들어, 다음 표에서는 OLE DB 데이터 형식과 CLR 형식 간의 매핑을 괄호 안에 사용 가능한 대체 형식으로 보여 줍니다.

OLE DB 형식

CLR 형식

DBTYPE_BOOL

Int16

DBTYPE_BSTR

string

DBTYPE_BYTES

byte[]

DBTYPE_CY

Decimal

DBTYPE_DATE

DateTime

DBTYPE_DBDATE

DateTime

DBTYPE_DBTIME

DateTime

DBTYPE_DBTIMESTAMP

DateTime

DBTYPE_DECIMAL

Decimal

DBTYPE_EMPTY

null입니다.

DBTYPE_ERROR

ExternalException

DBTYPE_FILETIME

DateTime

DBTYPE_GUID

Guid

DBTYPE_HCHAPTER

지원되지 않음

DBTYPE_I1

SByte

DBTYPE_I2

Int16

DBTYPE_I4

Int32

DBTYPE_I8

Int64

DBTYPE_IDISPATCH

object

DBTYPE_IUNKNOWN

object

DBTYPE_NULL

DBNull.Value

DBTYPE_NUMERIC

Decimal

DBTYPE_PROPVARIANT

object

DBTYPE_R4

Single

DBTYPE_R8

Double

DBTYPE_STR

string

DBTYPE_UDT

지원되지 않음

DBTYPE_UI1

byte (Int16)

DBTYPE_UI2

UInt16 (Int32)

DBTYPE_UI4

UInt32 (Int64)

DBTYPE_UI8

UInt64 (Decimal)

DBTYPE_VARIANT

object

DBTYPE_VARNUMERIC

지원되지 않음

DBTYPE_WSTR

string

다음 예제에서는 파생 클래스인 SqlConnection, SqlCommandSqlDataReader의 인스턴스를 만듭니다. 이 예제에서는 데이터를 읽고 해당 데이터를 콘솔에 씁니다. 마지막으로 SqlDataReader, SqlConnection을 차례로 닫습니다.

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에서 지원
표시: