IDataRecord 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
DataReader
의 각 행에 있는 열 값에 액세스할 수 있도록 하고 관계형 데이터베이스에 액세스하는 .NET 데이터 공급자에 의해 구현됩니다.
public interface class IDataRecord
public interface IDataRecord
type IDataRecord = interface
Public Interface IDataRecord
- 파생
예제
다음 예제에서는 파생 클래스, , SqlCommand및 SqlDataReader의 인스턴스를 SqlConnection만듭니다. 이 예제에서는 데이터를 읽고 콘솔에 기록합니다. 마지막으로, 예제에서는 를 닫은 다음 을 닫습니다SqlDataReaderSqlConnection.
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())
{
ReadSingleRow((IDataRecord)reader);
}
// Call Close when done reading.
reader.Close();
}
}
private static void ReadSingleRow(IDataRecord dataRecord)
{
Console.WriteLine(String.Format("{0}, {1}", dataRecord[0], dataRecord[1]));
}
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()
ReadSingleRow(CType(reader, IDataRecord))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
Private Sub ReadSingleRow(ByVal record As IDataRecord)
Console.WriteLine(String.Format("{0}, {1}", record(0), record(1)))
End Sub
설명
IDataReader 및 IDataRecord 인터페이스를 사용하면 상속 클래스가 클래스를 구현할 수 있습니다DataReader
. 이는 하나 이상의 정방향 전용 결과 집합 스트림을 읽는 방법을 제공합니다. 클래스에 대한 DataReader
자세한 내용은 DataReader를 사용하여 데이터 검색을 참조하세요.
애플리케이션의 인스턴스를 만들지 않습니다 합니다 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(10진수) |
DBTYPE_VARIANT | object |
DBTYPE_VARNUMERIC | 지원되지 않음 |
DBTYPE_WSTR | 문자열 |
속성
FieldCount |
현재 행의 열 수를 가져옵니다. |
Item[Int32] |
지정된 인덱스에 있는 열을 가져옵니다. |
Item[String] |
지정된 이름을 가진 열을 가져옵니다. |
메서드
GetBoolean(Int32) |
지정된 열의 값에 해당하는 Boolean 값을 가져옵니다. |
GetByte(Int32) |
지정된 열의 부호 없는 8비트 정수 값을 가져옵니다. |
GetBytes(Int32, Int64, Byte[], Int32, Int32) |
지정된 버퍼 오프셋에서 시작하여 지정된 열 오프셋의 바이트 스트림을 배열로 버퍼에 읽어옵니다. |
GetChar(Int32) |
지정된 열의 값에 해당하는 문자 값을 가져옵니다. |
GetChars(Int32, Int64, Char[], Int32, Int32) |
지정된 버퍼 오프셋에서 시작하여 지정된 열 오프셋의 문자 스트림을 배열로 버퍼에 읽어옵니다. |
GetData(Int32) |
지정된 열 서수에 대해 IDataReader를 반환합니다. |
GetDataTypeName(Int32) |
지정된 필드에 대한 데이터 형식 정보를 가져옵니다. |
GetDateTime(Int32) |
지정된 필드의 날짜 및 시간 데이터 값을 가져옵니다. |
GetDecimal(Int32) |
지정된 필드의 고정 위치 숫자 값을 가져옵니다. |
GetDouble(Int32) |
지정된 필드의 배정밀도 부동 소수점 숫자를 가져옵니다. |
GetFieldType(Int32) |
GetValue(Int32)에서 반환되는 Object 형식에 해당하는 Type 정보를 가져옵니다. |
GetFloat(Int32) |
지정된 필드의 단정밀도 부동 소수점 숫자를 가져옵니다. |
GetGuid(Int32) |
지정된 필드의 GUID 값을 반환합니다. |
GetInt16(Int32) |
지정된 필드의 부호 있는 16비트 정수 값을 가져옵니다. |
GetInt32(Int32) |
지정된 필드의 부호 있는 32비트 정수 값을 가져옵니다. |
GetInt64(Int32) |
지정된 필드의 부호 있는 64비트 정수 값을 가져옵니다. |
GetName(Int32) |
찾을 필드의 이름을 가져옵니다. |
GetOrdinal(String) |
명명된 필드의 인덱스를 반환합니다. |
GetString(Int32) |
지정된 필드의 문자열 값을 가져옵니다. |
GetValue(Int32) |
지정된 필드의 값을 반환합니다. |
GetValues(Object[]) |
현재 레코드의 열 값으로 개체의 배열을 채웁니다. |
IsDBNull(Int32) |
지정된 필드가 null로 설정되었는지 여부를 반환합니다. |
적용 대상
.NET