OLE DB 소비자 템플릿에 대한 매크로 및 전역 함수

OLE DB 소비자 템플릿에는 다음 매크로 및 전역 함수가 포함됩니다.

전역 함수

이름 설명
AtlTraceErrorRecords 오류가 반환되면 덤프 디바이스에 OLE DB 오류 레코드 정보를 덤프합니다.

접근자 맵 매크로

이름 설명
BEGIN_ACCESSOR 접근자 항목의 시작을 표시합니다.
BEGIN_ACCESSOR_MAP 접근자 맵 항목의 시작을 표시합니다.
END_ACCESSOR 접근자 항목의 끝을 표시합니다.
END_ACCESSOR_MAP 접근자 맵 항목의 끝을 표시합니다.

열 맵 매크로

이름 설명
BEGIN_COLUMN_MAP 사용자 레코드 클래스에서 열 맵 항목의 시작을 표시합니다.
BLOB_ENTRY BLOB(Binary Large Object)을 바인딩하는 데 사용됩니다.
BLOB_ENTRY_LENGTH BLOB 데이터 열의 길이를 보고합니다.
BLOB_ENTRY_LENGTH_STATUS BLOB 데이터 열의 길이와 상태 보고합니다.
BLOB_ENTRY_STATUS BLOB 데이터 열의 상태 보고합니다.
BLOB_NAME 열 이름으로 이진 큰 개체를 바인딩하는 데 사용됩니다.
BLOB_NAME_LENGTH BLOB 데이터 열의 길이를 보고합니다.
BLOB_NAME_LENGTH_STATUS BLOB 데이터 열의 길이와 상태 보고합니다.
BLOB_NAME_STATUS BLOB 데이터 열의 상태 보고합니다.
BOOKMARK_ENTRY 행 집합의 책갈피 항목을 나타냅니다. 책갈피 항목은 특수한 종류의 열 항목입니다.
COLUMN_ENTRY 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다.
COLUMN_ENTRY_EX 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 형식, 길이, 정밀도, 소수 자릿수상태 매개 변수를 지원합니다.
COLUMN_ENTRY_LENGTH 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 길이 변수를 지원합니다.
COLUMN_ENTRY_LENGTH_STATUS 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 상태 및 길이 매개 변수를 지원합니다.
COLUMN_ENTRY_PS 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 정밀도배율 매개 변수를 지원합니다.
COLUMN_ENTRY_PS_LENGTH 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 길이 변수, 정밀도배율 매개 변수를 지원합니다.
COLUMN_ENTRY_PS_LENGTH_STATUS 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 상태 및 길이 변수, 전체 자릿수배율 매개 변수를 지원합니다.
COLUMN_ENTRY_PS_STATUS 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 상태 변수, 정밀도배율 매개 변수를 지원합니다.
COLUMN_ENTRY_STATUS 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 상태 변수를 지원합니다.
COLUMN_ENTRY_TYPE 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 형식 매개 변수를 지원합니다.
COLUMN_ENTRY_TYPE_SIZE 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 형식크기 매개 변수를 지원합니다.
COLUMN_NAME 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다.
COLUMN_NAME_EX 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 데이터 형식, 크기, 정밀도, 소수 자릿수, 열 길이 및 열 상태 사양을 지원합니다.
COLUMN_NAME_LENGTH 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 열 길이 사양을 지원합니다.
COLUMN_NAME_LENGTH_STATUS 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 열 길이 및 상태 사양을 지원합니다.
COLUMN_NAME_PS 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 정밀도 및 배율의 사양을 지원합니다.
COLUMN_NAME_PS_LENGTH 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 정밀도, 소수 자릿수 및 열 길이 사양을 지원합니다.
COLUMN_NAME_PS_LENGTH_STATUS 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 정밀도, 소수 자릿수, 열 길이 및 열 상태 사양을 지원합니다.
COLUMN_NAME_PS_STATUS 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 정밀도, 소수 자릿수 및 열 상태 사양을 지원합니다.
COLUMN_NAME_STATUS 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 열 상태 사양을 지원합니다.
COLUMN_NAME_TYPE 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 데이터 형식의 사양을 지원합니다.
COLUMN_NAME_TYPE_PS 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 데이터 형식, 정밀도 및 크기 조정의 사양을 지원합니다.
COLUMN_NAME_TYPE_SIZE 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 데이터 형식 및 크기의 사양을 지원합니다.
COLUMN_NAME_TYPE_STATUS 이름으로 데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 데이터 형식 및 열 상태 사양을 지원합니다.
END_COLUMN_MAP 열 맵 항목의 끝을 표시합니다.

명령 매크로

이름 설명
DEFINE_COMMAND CCommand 클래스를 사용할 때 행 집합을 만드는 데 사용할 명령을 지정합니다. 지정된 애플리케이션 형식(ANSI 또는 유니코드)과 일치하는 문자열 형식만 허용합니다. DEFINE_COMMAND 대신 DEFINE_COMMAND_EX 사용하는 것이 좋습니다.
DEFINE_COMMAND_EX CCommand 클래스를 사용할 때 행 집합을 만드는 데 사용할 명령을 지정합니다. ANSI 및 유니코드 애플리케이션을 지원합니다.

매개 변수 맵 매크로

이름 설명
BEGIN_PARAM_MAP 사용자 레코드 클래스에서 매개 변수 맵 항목의 시작을 표시합니다.
END_PARAM_MAP 매개 변수 맵 항목의 끝을 표시합니다.
SET_PARAM_TYPE SET_PARAM_TYPE 매크로 뒤에 있는 COLUMN_ENTRY 매크로를 입력, 출력 또는 입력/출력으로 지정합니다.

AtlTraceErrorRecords

오류가 반환되면 덤프 디바이스에 OLE DB 오류 레코드 정보를 덤프합니다.

구문

inline void AtlTraceErrorRecords(HRESULT hrErr = S_OK);

매개 변수

이블
[in] OLE DB 소비자 템플릿 멤버 함수에서 반환된 HRESULT입니다.

설명

hErr이 S_OK AtlTraceErrorRecords 않으면 OLE DB 오류 레코드 정보를 덤프 디바이스(출력 창 또는 파일의 디버그 탭)에 덤프합니다. 공급자에서 가져온 오류 레코드 정보에는 각 오류 레코드 항목에 대한 행 번호, 원본, 설명, 도움말 파일, 컨텍스트 및 GUID가 포함됩니다. AtlTraceErrorRecords 는 디버그 빌드에서만 이 정보를 덤프합니다. 릴리스 빌드에서는 최적화된 빈 스텁입니다. 자세한 내용은 CDBErrorInfo 클래스를 참조 하세요.

BEGIN_ACCESSOR

접근자 항목의 시작을 표시합니다.

구문

BEGIN_ACCESSOR(num, bAuto)

매개 변수

num
[in] 이 접근자 맵의 접근자에 대한 오프셋 번호(0개)입니다.

bAuto
[in] 이 접근자가 자동 접근자인지 수동 접근자인지를 지정합니다. 이면 true접근자가 자동이고, 이 경우 false접근자가 수동입니다. 자동 접근자가란 이동 작업 시 데이터가 페치됨을 의미합니다.

설명

행 집합에 여러 접근자가 있는 경우 BEGIN_ACCESSOR_MAP 지정하고 각 개별 접근자에 대해 BEGIN_ACCESSOR 매크로를 사용해야 합니다. BEGIN_ACCESSOR 매크로는 END_ACCESSOR 매크로로 완료됩니다. BEGIN_ACCESSOR_MAP 매크로는 END_ACCESSOR_MAP 매크로로 완료됩니다.

예시

BEGIN_ACCESSOR_MAP 참조하세요.

BEGIN_ACCESSOR_MAP

접근자 맵 항목의 시작을 표시합니다.

구문

BEGIN_ACCESSOR_MAP(x, num)

매개 변수

x
[in] 사용자 레코드 클래스의 이름입니다.

num
[in] 이 접근자 맵에 있는 접근자 수입니다.

설명

행 집합에 여러 접근자가 있는 경우 처음에 BEGIN_ACCESSOR_MAP 지정하고 각 개별 접근자에 대해 BEGIN_ACCESSOR 매크로를 사용해야 합니다. BEGIN_ACCESSOR 매크로는 END_ACCESSOR 매크로로 완료됩니다. 접근자 맵은 END_ACCESSOR_MAP 매크로로 완료됩니다.

사용자 레코드에 접근자가 하나만 있는 경우 BEGIN_COLUMN_MAP매크로를 사용합니다.

예시

class CArtistsAccessor
{
public:
// Data Elements
   TCHAR m_szFirstName[21];
   TCHAR m_szLastName[31];
   short m_nAge;

// Output binding map
BEGIN_ACCESSOR_MAP(CArtistsAccessor, 2)
   BEGIN_ACCESSOR(0, true)
      COLUMN_ENTRY(1, m_szFirstName)
      COLUMN_ENTRY(2, m_szLastName)
   END_ACCESSOR()
   BEGIN_ACCESSOR(1, false) // Not an auto accessor
      COLUMN_ENTRY(3, m_nAge)
   END_ACCESSOR()
END_ACCESSOR_MAP()

   HRESULT OpenDataSource()
   {
      CDataSource _db;
      _db.Open();
      return m_session.Open(_db);
   }

   void CloseDataSource()
   {
      m_session.Close();
   }

   CSession m_session;

   DEFINE_COMMAND_EX(CArtistsAccessor, L" \
   SELECT \
      FirstName, \
      LastName, \
      Age \
      FROM Artists")
};

END_ACCESSOR

접근자 항목의 끝을 표시합니다.

구문

END_ACCESSOR()

설명

행 집합의 여러 접근자의 경우 BEGIN_ACCESSOR_MAP 지정하고 각 개별 접근자에 대해 BEGIN_ACCESSOR 매크로를 사용해야 합니다. BEGIN_ACCESSOR 매크로는 END_ACCESSOR 매크로로 완료됩니다. BEGIN_ACCESSOR_MAP 매크로는 END_ACCESSOR_MAP 매크로로 완료됩니다.

예시

BEGIN_ACCESSOR_MAP 참조하세요.

END_ACCESSOR_MAP

접근자 맵 항목의 끝을 표시합니다.

구문

END_ACCESSOR_MAP()

설명

행 집합의 여러 접근자의 경우 BEGIN_ACCESSOR_MAP 지정하고 각 개별 접근자에 대해 BEGIN_ACCESSOR 매크로를 사용해야 합니다. BEGIN_ACCESSOR 매크로는 END_ACCESSOR 매크로로 완료됩니다. BEGIN_ACCESSOR_MAP 매크로는 END_ACCESSOR_MAP 매크로로 완료됩니다.

예시

BEGIN_ACCESSOR_MAP 참조하세요.

BEGIN_COLUMN_MAP

열 맵 항목의 시작을 표시합니다.

구문

BEGIN_COLUMN_MAP(x)

매개 변수

x
[in] CAccessor에서 파생된 사용자 레코드 클래스의 이름입니다.

설명

이 매크로는 행 집합에 단일 접근자가 있는 경우에 사용됩니다. 행 집합에 여러 접근자가 있는 경우 BEGIN_ACCESSOR_MAP을 사용합니다.

BEGIN_COLUMN_MAP 매크로는 END_COLUMN_MAP 매크로로 완료됩니다. 이 매크로는 사용자 레코드에 하나의 접근자만 필요한 경우에 사용됩니다.

열은 바인딩하려면 행 집합의 필드에 해당합니다.

예시

다음은 열 및 매개 변수 맵의 샘플입니다.

BLOB_ENTRY

blob(이진 대형 개체)을 바인딩하는 데 BEGIN_COLUMN_MAP 및 END_COLUMN_MAP 함께 사용됩니다.

구문

BLOB_ENTRY(nOrdinal, IID, flags, data)

매개 변수

nOrdinal
[in] 열 번호입니다.

Iid
[in] BLOB을 검색하는 데 사용되는 인터페이스 GUID(예: IDD_ISequentialStream인터페이스 GUID)입니다.

flags
[in] OLE 구조적 스토리지 모델(예 STGM_READ: )에 정의된 스토리지 모드 플래그입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

예시

BLOB을 검색하는 방법을 참조하세요.

BLOB_ENTRY_LENGTH

blob(이진 대형 개체)을 바인딩하는 데 BEGIN_COLUMN_MAP 및 END_COLUMN_MAP 함께 사용됩니다. BLOB_ENTRY 마찬가지로 이 매크로는 BLOB 열의 길이(바이트)도 가져옵니다.

구문

BLOB_ENTRY_LENGTH(nOrdinal, IID, flags, data, length)

매개 변수

nOrdinal
[in] 열 번호입니다.

Iid
[in] BLOB을 검색하는 데 사용되는 인터페이스 GUID(예: IDD_ISequentialStream인터페이스 GUID)입니다.

flags
[in] OLE 구조적 스토리지 모델(예 STGM_READ: )에 정의된 스토리지 모드 플래그입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[out] BLOB 열의 (실제) 길이(바이트)입니다.

예시

BLOB을 검색하는 방법을 참조하세요.

BLOB_ENTRY_LENGTH_STATUS

blob(이진 대형 개체)을 바인딩하는 데 BEGIN_COLUMN_MAP 및 END_COLUMN_MAP 함께 사용됩니다. BLOB_ENTRY 마찬가지로 이 매크로는 BLOB 열의 길이와 상태 가져옵니다.

구문

BLOB_ENTRY_LENGTH_STATUS(
    nOrdinal,
    IID,
    flags,
    data,
    length,
    status )

매개 변수

nOrdinal
[in] 열 번호입니다.

Iid
[in] BLOB을 검색하는 데 사용되는 인터페이스 GUID(예: IDD_ISequentialStream인터페이스 GUID)입니다.

flags
[in] OLE 구조적 스토리지 모델(예 STGM_READ: )에 정의된 스토리지 모드 플래그입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[out] BLOB 열의 (실제) 길이(바이트)입니다.

status
[out] BLOB 데이터 열의 상태.

예시

BLOB을 검색하는 방법을 참조하세요.

BLOB_ENTRY_STATUS

blob(이진 큰 개체)을 바인딩하기 위해 BEGIN_COLUMN_MAP 또는 BEGIN_ACCESSOR_MAP 함께 사용됩니다. BLOB_ENTRY 마찬가지로 이 매크로도 BLOB 열의 상태 가져옵니다.

구문

BLOB_ENTRY_STATUS(nOrdinal, IID, flags, data, status)

매개 변수

nOrdinal
[in] 열 번호입니다.

Iid
[in] BLOB을 검색하는 데 사용되는 인터페이스 GUID(예: IDD_ISequentialStream인터페이스 GUID)입니다.

flags
[in] OLE 구조적 스토리지 모델(예 STGM_READ: )에 정의된 스토리지 모드 플래그입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

status
[out] BLOB 필드의 상태.

예시

BLOB을 검색하는 방법을 참조하세요.

BLOB_NAME

blob(이진 대형 개체)을 바인딩하는 데 BEGIN_COLUMN_MAP 및 END_COLUMN_MAP 함께 사용됩니다. BLOB_ENTRY 비슷하지만 이 매크로는 열 번호 대신 열 이름을 사용합니다.

구문

BLOB_NAME(pszName, IID, flags, data )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

Iid
[in] BLOB을 검색하는 데 사용되는 인터페이스 GUID(예: IDD_ISequentialStream인터페이스 GUID)입니다.

flags
[in] OLE 구조적 스토리지 모델(예 STGM_READ: )에 정의된 스토리지 모드 플래그입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

예시

BLOB을 검색하는 방법을 참조하세요.

BLOB_NAME_LENGTH

blob(이진 대형 개체)을 바인딩하는 데 BEGIN_COLUMN_MAP 및 END_COLUMN_MAP 함께 사용됩니다. BLOB_NAME 마찬가지로 이 매크로는 BLOB 데이터 열의 길이(바이트)도 가져옵니다.

구문

BLOB_NAME_LENGTH(pszName, IID, flags, data, length )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

Iid
[in] BLOB을 검색하는 데 사용되는 인터페이스 GUID(예: IDD_ISequentialStream인터페이스 GUID)입니다.

flags
[in] OLE 구조적 스토리지 모델(예 STGM_READ: )에 정의된 스토리지 모드 플래그입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[out] BLOB 열의 (실제) 길이(바이트)입니다.

BLOB_NAME_LENGTH_STATUS

blob(이진 대형 개체)을 바인딩하는 데 BEGIN_COLUMN_MAP 및 END_COLUMN_MAP 함께 사용됩니다. BLOB_NAME 마찬가지로 이 매크로는 BLOB 데이터 열의 길이와 상태 가져옵니다.

구문

BLOB_NAME_LENGTH_STATUS(pszName, IID, flags, data, length, status )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

Iid
[in] BLOB을 검색하는 데 사용되는 인터페이스 GUID(예: IDD_ISequentialStream인터페이스 GUID)입니다.

flags
[in] OLE 구조적 스토리지 모델(예 STGM_READ: )에 정의된 스토리지 모드 플래그입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[out] BLOB 열의 (실제) 길이(바이트)입니다.

status
[out] BLOB 필드의 상태.

BLOB_NAME_STATUS

blob(이진 대형 개체)을 바인딩하는 데 BEGIN_COLUMN_MAP 및 END_COLUMN_MAP 함께 사용됩니다. BLOB_NAME 마찬가지로 이 매크로도 BLOB 데이터 열의 상태 가져옵니다.

구문

BLOB_NAME_STATUS(pszName, IID, flags, data, status )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

Iid
[in] BLOB을 검색하는 데 사용되는 인터페이스 GUID(예: IDD_ISequentialStream인터페이스 GUID)입니다.

flags
[in] OLE 구조적 스토리지 모델(예 STGM_READ: )에 정의된 스토리지 모드 플래그입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

status
[out] BLOB 필드의 상태.

BOOKMARK_ENTRY

책갈피 열을 바인딩합니다.

구문

BOOKMARK_ENTRY(variable)

매개 변수

variable
[in] 책갈피 열에 바인딩할 변수입니다.

예시

class CArtistsBookmark
{
public:
// Data Elements
   CBookmark<4> m_bookmark;
   short m_nAge;
   TCHAR m_szFirstName[21];
   TCHAR m_szLastName[31];

// Output binding map
BEGIN_COLUMN_MAP(CArtistsBookmark)
   BOOKMARK_ENTRY(m_bookmark)
   COLUMN_ENTRY(1, m_nAge)
   COLUMN_ENTRY(2, m_szFirstName)
   COLUMN_ENTRY(3, m_szLastName)
END_COLUMN_MAP()

   void GetRowsetProperties(CDBPropSet* pPropSet)
   {
      pPropSet->AddProperty(DBPROP_BOOKMARKS, true);
   }

   HRESULT OpenDataSource()
   {
      CDataSource _db;
      _db.Open();
      return m_session.Open(_db);
   }

   void CloseDataSource()
   {
      m_session.Close();
   }

   CSession m_session;

   DEFINE_COMMAND_EX(CArtistsBookmark, L" \
   SELECT \
      Age, \
      FirstName, \
      LastName \
      FROM Artists")
};

자세한 내용은 책갈피 및 CBookmark 클래스 사용을 참조하세요.

COLUMN_ENTRY

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다.

구문

COLUMN_ENTRY(nOrdinal, data)

매개 변수

OLE DB 프로그래머의 참조에서 DBBINDING을 참조하세요.

nOrdinal
[in] 열 번호입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

설명

COLUMN_ENTRY 매크로는 다음 위치에서 사용됩니다.

예시

매크로 항목, BEGIN_COLUMN_MAP 및 BEGIN_ACCESSOR_MAP 예제를 참조하세요.

COLUMN_ENTRY_EX

데이터베이스에서 특정 열에 대한 행 집합의 바인딩을 나타냅니다.

구문

COLUMN_ENTRY_EX(nOrdinal, wType, nLength, nPrecision, nScale, data, length, status)

매개 변수

OLE DB 프로그래머의 참조에서 DBBINDING을 참조하세요.

nOrdinal
[in] 열 번호입니다.

wType
[in] 데이터 형식입니다.

nLength
[in] 데이터 크기(바이트)입니다.

nPrecision
[in] 데이터 및 wType 을 가져올 때 사용할 최대 전체 자릿수는 .입니다 DBTYPE_NUMERIC. 그렇지 않으면 이 매개 변수가 무시됩니다.

nScale
[in] 데이터 및 wType을 가져오는 경우 사용할 크기 조정입니다 DBTYPE_NUMERICDBTYPE_DECIMAL.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[in] 열 길이에 바인딩할 변수입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

설명

COLUMN_ENTRY_EX 매크로는 다음 위치에서 사용됩니다.

예시

BOOKMARK_ENTRY 참조하세요.

COLUMN_ENTRY_LENGTH

데이터베이스에서 특정 열에 대한 행 집합의 바인딩을 나타냅니다.

구문

COLUMN_ENTRY_LENGTH(nOrdinal, data, length)

매개 변수

OLE DB 프로그래머의 참조에서 DBBINDING을 참조하세요.

nOrdinal
[in] 열 번호(1부터 시작)입니다. 책갈피는 열 0에 해당합니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[in] 열 길이에 바인딩할 변수입니다.

설명

이 매크로는 길이 변수를 지원합니다. 다음과 같은 위치에 사용됩니다.

COLUMN_ENTRY_LENGTH_STATUS

데이터베이스에서 특정 열에 대한 행 집합의 바인딩을 나타냅니다.

구문

COLUMN_ENTRY_LENGTH_STATUS(nOrdinal, data, length, status)

매개 변수

OLE DB 프로그래머의 참조에서 DBBINDING을 참조하세요.

nOrdinal
[in] 열 번호입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[in] 열 길이에 바인딩할 변수입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

설명

이 매크로는 길이 및 상태 변수를 지원하려는 경우에 사용합니다. 다음과 같은 위치에 사용됩니다.

COLUMN_ENTRY_PS

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다.

구문

COLUMN_ENTRY_PS(nOrdinal, nPrecision, nScale, data)

매개 변수

OLE DB 프로그래머의 참조에서 DBBINDING을 참조하세요.

nOrdinal
[in] 열 번호입니다.

nPrecision
[in] 바인딩하려는 열의 최대 정밀도입니다.

nScale
[in] 바인딩할 열의 배율입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

설명

바인딩할 열의 정밀도 및 배율을 지정할 수 있습니다. 다음과 같은 위치에 사용됩니다.

COLUMN_ENTRY_PS_LENGTH

데이터베이스에서 특정 열에 대한 행 집합의 바인딩을 나타냅니다.

구문

COLUMN_ENTRY_PS_LENGTH(nOrdinal, nPrecision, nScale, data, length)

매개 변수

OLE DB 프로그래머의 참조에서 DBBINDING을 참조하세요.

nOrdinal
[in] 열 번호(1부터 시작)입니다. 책갈피는 열 0에 해당합니다.

nPrecision
[in] 바인딩하려는 열의 최대 정밀도입니다.

nScale
[in] 바인딩할 열의 배율입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[in] 열 길이에 바인딩할 변수입니다.

설명

바인딩할 열의 정밀도 및 배율을 지정할 수 있습니다. 이 매크로는 길이 변수를 지원합니다. 다음과 같은 위치에 사용됩니다.

COLUMN_ENTRY_PS_LENGTH_STATUS

데이터베이스에서 특정 열에 대한 행 집합의 바인딩을 나타냅니다.

구문

COLUMN_ENTRY_PS_LENGTH_STATUS(nOrdinal, nPrecision, nScale, data, length, status)

매개 변수

OLE DB 프로그래머의 참조에서 DBBINDING을 참조하세요.

nOrdinal
[in] 열 번호입니다.

nPrecision
[in] 바인딩하려는 열의 최대 정밀도입니다.

nScale
[in] 바인딩할 열의 배율입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[in] 열 길이에 바인딩할 변수입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

설명

바인딩할 열의 정밀도 및 배율을 지정할 수 있습니다. 이 매크로는 길이 및 상태 변수를 지원하려는 경우에 사용합니다. 다음과 같은 위치에 사용됩니다.

COLUMN_ENTRY_PS_STATUS

데이터베이스에서 특정 열에 대한 행 집합의 바인딩을 나타냅니다.

구문

COLUMN_ENTRY_PS_STATUS(nOrdinal, nPrecision, nScale, data, status)

매개 변수

OLE DB 프로그래머의 참조에서 DBBINDING을 참조하세요.

nOrdinal
[in] 열 번호입니다.

nPrecision
[in] 바인딩하려는 열의 최대 정밀도입니다.

nScale
[in] 바인딩할 열의 배율입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

설명

바인딩할 열의 정밀도 및 배율을 지정할 수 있습니다. 이 매크로는 상태 변수를 지원합니다. 다음과 같은 위치에 사용됩니다.

COLUMN_ENTRY_STATUS

데이터베이스에서 특정 열에 대한 행 집합의 바인딩을 나타냅니다.

구문

COLUMN_ENTRY_STATUS(nOrdinal, data, status)

매개 변수

OLE DB 프로그래머의 참조에서 DBBINDING을 참조하세요.

nOrdinal
[in] 열 번호입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

설명

이 매크로는 상태 변수를 지원합니다. 다음과 같은 위치에 사용됩니다.

COLUMN_ENTRY_TYPE

데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 형식 매개 변수를 지원합니다.

구문

COLUMN_ENTRY_TYPE (nOrdinal, wType, data)

매개 변수

nOrdinal
[in] 열 번호입니다.

wType
[in] 열 항목의 데이터 형식입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

설명

이 매크로는 데이터 형식을 지정하는 방법을 제공하는 COLUMN_ENTRY 매크로의 특수 변형입니다.

COLUMN_ENTRY_TYPE_SIZE

데이터베이스의 특정 열에 대한 바인딩을 나타냅니다. 형식크기 매개 변수를 지원합니다.

구문

COLUMN_ENTRY_TYPE_SIZE(nOrdinal, wType, nLength, data)

매개 변수

nOrdinal
[in] 열 번호입니다.

wType
[in] 열 항목의 데이터 형식입니다.

nLength
[in] 열 항목의 크기(바이트)입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

설명

이 매크로는 데이터 크기와 형식을 지정하는 방법을 제공하는 COLUMN_ENTRY 매크로의 특수 변형입니다.

COLUMN_NAME

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. COLUMN_ENTRY 비슷하지만 이 매크로는 열 번호 대신 열 이름을 사용합니다.

구문

COLUMN_NAME(pszName, data)

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

설명

COLUMN_NAME_* 매크로는 COLUMN_ENTRY 같은 위치에서 사용됩니다.

COLUMN_NAME_EX

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. COLUMN_NAME 마찬가지로 이 매크로는 데이터 형식, 크기, 정밀도, 소수 자릿수, 열 길이 및 열 상태 사용한다는 점을 제외합니다.

구문

COLUMN_NAME_EX(pszName, wType, nLength, nPrecision, nScale, data, length, status )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

wType
[in] 데이터 형식입니다.

nLength
[in] 데이터 크기(바이트)입니다.

nPrecision
[in] 데이터 및 wType 을 가져올 때 사용할 최대 전체 자릿수는 .입니다 DBTYPE_NUMERIC. 그렇지 않으면 이 매개 변수가 무시됩니다.

nScale
[in] 데이터 및 wType을 가져오는 경우 사용할 크기 조정입니다 DBTYPE_NUMERICDBTYPE_DECIMAL.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[in] 열 길이에 바인딩할 변수입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_LENGTH

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. COLUMN_NAME 비슷하지만 이 매크로는 열 길이도 차지합니다.

구문

COLUMN_NAME_LENGTH(pszName, data, length)

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[in] 열 길이에 바인딩할 변수입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_LENGTH_STATUS

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. COLUMN_NAME 비슷하지만 이 매크로는 열 길이와 열 상태 취합니다.

구문

COLUMN_NAME_LENGTH_STATUS(pszName, data, length, status )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[in] 열 길이에 바인딩할 변수입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_PS

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. COLUMN_NAME 비슷하지만 이 매크로는 정밀도와 배율도 적용됩니다.

구문

COLUMN_NAME_PS(pszName, nPrecision, nScale, data )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

nPrecision
[in] 바인딩하려는 열의 최대 정밀도입니다.

nScale
[in] 바인딩할 열의 배율입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_PS_LENGTH

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. 이 매크로는 전체 자릿수, 소수 자릿수 및 열 길이도 사용하는 것을 제외하고 COLUMN_NAME 유사합니다.

구문

COLUMN_NAME_PS_LENGTH(pszName, nPrecision, nScale, data, length )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

nPrecision
[in] 바인딩하려는 열의 최대 정밀도입니다.

nScale
[in] 바인딩할 열의 배율입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[in] 열 길이에 바인딩할 변수입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_PS_LENGTH_STATUS

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. COLUMN_NAME 비슷하지만 이 매크로는 전체 자릿수, 소수 자릿수, 열 길이 및 열 상태.

구문

COLUMN_NAME_PS_LENGTH_STATUS(pszName, nPrecision, nScale, data, length, status )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

nPrecision
[in] 바인딩하려는 열의 최대 정밀도입니다.

nScale
[in] 바인딩할 열의 배율입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

length
[in] 열 길이에 바인딩할 변수입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_PS_STATUS

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. COLUMN_NAME 마찬가지로 이 매크로는 전체 자릿수, 소수 자릿수 및 열 상태.

구문

COLUMN_NAME_PS_STATUS(pszName, nPrecision, nScale, data, status )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

nPrecision
[in] 바인딩하려는 열의 최대 정밀도입니다.

nScale
[in] 바인딩할 열의 배율입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_STATUS

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. COLUMN_NAME 비슷하지만 이 매크로는 열 상태 취합니다.

구문

COLUMN_NAME_STATUS(pszName, data, status )

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_TYPE

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. 이 매크로도 데이터 형식을 사용한다는 점을 제외하고 COLUMN_NAME 유사합니다.

구문

COLUMN_NAME_TYPE(pszName, wType, data)

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

wType
[in] 데이터 형식입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_TYPE_PS

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. COLUMN_NAME 마찬가지로 이 매크로는 데이터 형식, 정밀도 및 배율도 사용한다는 점을 제외합니다.

구문

COLUMN_NAME_TYPE_PS(pszName, wType, nPrecision, nScale, data)

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

wType
[in] 데이터 형식입니다.

nPrecision
[in] 데이터 및 wType 을 가져올 때 사용할 최대 전체 자릿수는 .입니다 DBTYPE_NUMERIC. 그렇지 않으면 이 매개 변수가 무시됩니다.

nScale
[in] 데이터 및 wType을 가져오는 경우 사용할 크기 조정입니다 DBTYPE_NUMERICDBTYPE_DECIMAL.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_TYPE_SIZE

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. 이 매크로는 데이터 형식과 크기도 사용한다는 점을 제외하고 COLUMN_NAME 유사합니다.

구문

COLUMN_NAME_TYPE_SIZE(pszName, wType, nLength, data)

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

wType
[in] 데이터 형식입니다.

nLength
[in] 데이터 크기(바이트)입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

COLUMN_NAME_TYPE_STATUS

행 집합의 특정 열에 대한 행 집합의 바인딩을 나타냅니다. COLUMN_NAME 비슷하지만 이 매크로는 데이터 형식과 열 상태 취합니다.

구문

COLUMN_NAME_TYPE_STATUS(pszName, wType, status, data)

매개 변수

pszName
[in] 열 이름에 대한 포인터입니다. 이름은 유니코드 문자열이어야 합니다. 이름 앞에 'L'을 배치하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 L"MyColumn"같습니다.

wType
[in] 데이터 형식입니다.

status
[in] 열 상태에 바인딩할 변수입니다.

data
[in] 사용자 레코드에서 해당 데이터 멤버입니다.

설명

COLUMN_NAME_* 매크로가 사용되는 위치에 대한 자세한 내용은 COLUMN_NAME 참조하세요.

END_COLUMN_MAP

열 맵 항목의 끝을 표시합니다.

구문

END_COLUMN_MAP()

설명

행 집합의 단일 접근자에서 사용됩니다. BEGIN_COLUMN_MAP 매크로는 END_COLUMN_MAP 매크로로 완료됩니다.

예시

BEGIN_COLUMN_MAP 참조하세요.

DEFINE_COMMAND

CCommand 클래스를 사용할 때 행 집합을 만드는 데 사용할 명령을 지정합니다. 지정된 애플리케이션 형식(ANSI 또는 유니코드)과 일치하는 문자열 형식만 허용합니다.

참고 항목

DEFINE_COMMAND 대신 DEFINE_COMMAND_EX 사용하는 것이 좋습니다.

구문

DEFINE_COMMAND(x, szCommand)

매개 변수

x
[in] 사용자 레코드(명령) 클래스의 이름입니다.

szCommand
[in] CCommand를 사용할 때 행 집합을 만드는 데 사용할 명령 문자열입니다.

설명

CCommand::Open 메서드에서 명령 텍스트를 지정하지 않으면 지정한 명령 문자열이 기본값으로 사용됩니다.

이 매크로는 애플리케이션을 ANSI로 빌드하는 경우 ANSI 문자열을, 유니코드로 애플리케이션을 빌드하는 경우 유니코드 문자열을 허용합니다. ANSI 또는 유니코드 애플리케이션 유형에 관계없이 전자가 유니코드 문자열을 허용하므로 DEFINE_COMMAND 대신 DEFINE_COMMAND_EX 사용하는 것이 좋습니다.

예시

BOOKMARK_ENTRY 참조하세요.

DEFINE_COMMAND_EX

CCommand 클래스를 사용할 때 행 집합을 만드는 데 사용할 명령을 지정합니다. 유니코드 및 ANSI 애플리케이션을 지원합니다.

구문

DEFINE_COMMAND_EX(x, wszCommand)

매개 변수

x
[in] 사용자 레코드(명령) 클래스의 이름입니다.

wszCommand
[in] CCommand를 사용할 때 행 집합을 만드는 데 사용할 명령 문자열입니다.

설명

CCommand::Open 메서드에서 명령 텍스트를 지정하지 않으면 지정한 명령 문자열이 기본값으로 사용됩니다.

이 매크로는 애플리케이션 형식에 관계없이 유니코드 문자열을 허용합니다. 이 매크로는 ANSI 애플리케이션뿐만 아니라 유니코드도 지원하므로 DEFINE_COMMAND 비해 선호됩니다.

예시

BOOKMARK_ENTRY 참조하세요.

BEGIN_PARAM_MAP

매개 변수 맵 항목의 시작을 표시합니다.

구문

BEGIN_PARAM_MAP(x)

매개 변수

x
[in] 사용자 레코드 클래스의 이름입니다.

설명

매개 변수는 명령에서 사용됩니다.

예시

BEGIN_COLUMN_MAP 매크로에 대한 예제를 참조하세요.

END_PARAM_MAP

매개 변수 맵 항목의 끝을 표시합니다.

구문

END_PARAM_MAP()

예시

BEGIN_PARAM_MAP 매크로에 대한 예제를 참조하세요.

SET_PARAM_TYPE

SET_PARAM_TYPE 매크로 입력, 출력 또는 입력/출력 뒤에 COLUMN_ENTRY 매크로를 지정합니다.

구문

SET_PARAM_TYPE(type)

매개 변수

type
[in] 매개 변수에 대해 설정할 형식입니다.

설명

공급자는 기본 데이터 소스에서 지원되는 매개 변수 입력/출력 형식만 지원합니다. 형식은 하나 이상의 DBPARAMIO 값의 조합입니다( OLE DB 프로그래머 참조의 DBBINDING 구조참조).

  • DBPARAMIO_NOTPARAM 접근자에 매개 변수가 없습니다. 일반적으로 매개 변수가 무시됨을 사용자에게 상기시키기 위해 행 접근자에서 이 값으로 설정합니다 eParamIO .

  • DBPARAMIO_INPUT 입력 매개 변수입니다.

  • DBPARAMIO_OUTPUT 출력 매개 변수입니다.

  • DBPARAMIO_INPUT | DBPARAMIO_OUTPUT 매개 변수는 입력 및 출력 매개 변수입니다.

예시

class CArtistsProperty
{
public:
   short m_nReturn;
   short m_nAge;
   TCHAR m_szFirstName[21];
   TCHAR m_szLastName[31];

BEGIN_PARAM_MAP(CArtistsProperty)
   SET_PARAM_TYPE(DBPARAMIO_OUTPUT)
   COLUMN_ENTRY(1, m_nReturn)
   SET_PARAM_TYPE(DBPARAMIO_INPUT)
   COLUMN_ENTRY(2, m_nAge)
END_PARAM_MAP()

BEGIN_COLUMN_MAP(CArtistsProperty)
   COLUMN_ENTRY(1, m_szFirstName)
   COLUMN_ENTRY(2, m_szLastName)
END_COLUMN_MAP()

   HRESULT OpenDataSource()
   {
      CDataSource _db;
      _db.Open();
      return m_session.Open(_db);
   }

   void CloseDataSource()
   {
      m_session.Close();
   }

   CSession m_session;

   DEFINE_COMMAND_EX(CArtistsProperty, L" \
      { ? = SELECT Age FROM Artists WHERE Age < ? }")
};

요구 사항

헤더: atldbcli.h

참고 항목

OLE DB 소비자 템플릿에 대한 매크로 및 전역 함수
OLE DB 소비자 템플릿
OLE DB 소비자 템플릿 참조