db_column

행 집합의 변수에 지정된 열을 바인딩합니다.

구문

[ db_column(ordinal, dbtype, precision, scale, status, length) ]

매개 변수

서수
데이터를 바인딩할 행 집합의 필드에 해당하는 서수 열 번호DBCOLUMNINFO (서수) 또는 열 이름(ANSI 또는 유니코드 문자열)입니다. 숫자를 사용하는 경우 연속 서수를 건너뛸 수 있습니다(예: 1, 2, 3, 5). 사용하는 OLE DB 공급자가 지원하는 경우 이름에 공백이 포함될 수 있습니다. 예를 들어 다음 형식 중 하나를 사용할 수 있습니다.

[db_column("2")] TCHAR szCity[30];
[db_column(L"city_name")] TCHAR szCity[30];

Dbtype
(선택 사항) 열 항목에 대한 OLE DB 형식 표시 기입니다.

전체 자릿수
(선택 사항) 열 항목에 사용할 전체 자릿수입니다. 자세한 내용은 DBBINDING 구조체 요소에 대한 설명을 bPrecision 참조하세요.

scale
(선택 사항) 열 항목에 사용할 배율입니다. 자세한 내용은 DBBINDING 구조체의 요소 설명을 bScale 참조하세요.

status
(선택 사항) 이 열의 상태 유지하는 데 사용되는 멤버 변수입니다. 상태 열 값이 데이터 값인지 아니면 NULL과 같은 다른 값인지를 나타냅니다. 가능한 값 은 OLE DB 프로그래머 참조의 상태를참조하세요.

length
(선택 사항) 열의 크기를 바이트 단위로 유지하는 데 사용되는 멤버 변수입니다.

설명

db_column 행 집합의 변수에 지정된 테이블 열을 바인딩합니다. OLE DB IAccessor기반 바인딩에 참여할 수 있는 멤버 데이터를 구분합니다. 이 특성은 OLE DB 소비자 매크로 BEGIN_COLUMN_MAP, END_COLUMN_MAP 및 COLUMN_ENTRY 사용하여 일반적으로 정의된 열 맵을 설정합니다. OLE DB DBBINDING 구조를 조작하여 지정된 열을 바인딩합니다. db_column 특성으로 표시한 각 멤버는 열 맵의 한 항목을 열 항목 형식으로 차지합니다. 따라서 이 특성을 호출하여 명령 또는 테이블 클래스에 열 맵을 배치합니다.

db_column db_table 또는 db_command 특성과 함께 사용합니다.

소비자 특성 공급자가 이 특성을 클래스에 적용하면 컴파일러는 클래스 이름을 _YourClassNameAccessor로 바꿉니다. 여기서 YourClassName은 클래스에 지정한 이름이고 컴파일러는 _YourClassName접근자에서 파생되는 YourClassName이라는 클래스도 만듭니다. 클래스 뷰에 두 클래스 모두 표시됩니다.

애플리케이션에서 사용되는 이 특성의 예는 MultiRead를 참조하세요.

예제

이 샘플에서는 테이블의 열을 데이터 멤버에 long 바인딩하고 상태 및 길이 필드를 지정합니다.

// db_column_1.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>

[ db_command(L"Select * from Products") ]
class CProducts {
   DBSTATUS m_dwProductIDStatus;
   DBLENGTH m_dwProductIDLength;

   [ db_column("1", status="m_dwProductIDStatus", length="m_dwProductIDLength") ] LONG m_ProductID;
};

이 샘플에서는 4개의 열을 해당 순서대로 long문자열, 타임스탬프 및 DB_NUMERIC 정수에 바인딩합니다.

// db_column_2.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>

[ db_command(L"Select * from Products") ]
class CProducts {
   [db_column("1")] LONG m_OrderID;
   [db_column("2")] TCHAR m_CustomerID[6];
   [db_column("4")] DB_NUMERIC m_OrderDate;
   [db_column("7", dbtype="DBTYPE_NUMERIC")] DB_NUMERIC m_ShipVia;
};

요구 사항

특성 컨텍스트
적용 대상: class, struct멤버, 메서드
반복 가능 아니요
필수 특성 없음
잘못된 특성 없음

특성 컨텍스트에 대한 자세한 내용은 특성 컨텍스트를 참조하세요.

참고 항목

OLE DB 소비자 특성
클래스 특성