다음을 통해 공유


db_param

지정된 멤버 변수를 입력 또는 출력 매개 변수와 연결하고 변수를 구분합니다.

구문

[ db_param(ordinal, paramtype="DBPARAMIO_INPUT", dbtype, precision, scale, status, length) ]

매개 변수

서수
데이터를 바인딩할 행 집합의 필드에 해당하는 열 번호(DBCOLUMNINFO 서수)입니다.

paramtype
(선택 사항) 매개 변수에 대해 설정할 형식입니다. 공급자는 기본 데이터 원본에서 지원하는 매개 변수 I/O 형식만 지원합니다. 형식은 하나 이상의 DBPARAMIOENUM 값의 조합입니다.

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

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

  • DBPARAMIO_NOTPARAM 이 접근자에는 매개 변수가 없습니다. 행 접근자에서 이 값으로 설정 eParamIO 하면 매개 변수가 무시됨을 사용자에게 알 수 있습니다.

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

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

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

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

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

설명

db_param 명령에 사용하는 매개 변수를 db_command정의하므로 . 예를 들어 db_param 사용하여 SQL 쿼리 또는 저장 프로시저에서 매개 변수를 바인딩할 수 있습니다. 저장 프로시저의 매개 변수는 물음표(?)로 표시되며 매개 변수가 표시되는 순서대로 데이터 멤버를 바인딩해야 합니다.

db_param OLE DB ICommandWithParameters기반 바인딩에 참여할 수 있는 멤버 데이터를 구분합니다. 지정된 매개 변수의 매개 변수 형식(입력 또는 출력), OLE DB 형식, 전체 자릿수, 소수 자릿수, 상태 및 길이를 설정합니다. 이 특성은 BEGIN_PARAM_MAP OLE DB 소비자 매크로를 삽입합니다. END_PARAM_MAP. db_param 특성으로 표시한 각 멤버는 COLUMN_ENTRY 형식으로 맵의 한 항목을 차지합니다.

db_param db_table 또는 db_command 특성과 함께 사용됩니다.

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

예시

다음 예제에서는 Northwind 데이터베이스의 SalesbyYear 저장 프로시저를 기반으로 명령 클래스를 만듭니다. 저장 프로시저의 첫 번째 매개 변수를 변수와 연결 m_RETURN_VALUE 하고 출력 매개 변수로 정의합니다. 마지막 두(입력) 매개 변수를 및 .와 연결 m_Beginning_Date 합니다 m_Ending_Date.

다음 예제에서는 변수를 nOutput 출력 매개 변수와 연결합니다.

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

[ db_source(L"my_connection_string"),
  db_command(L"{ ? = CALL dbo.\"Sales by Year\"(?,?) }")
]
struct CSalesbyYear {
   DBSTATUS m_dwShippedDateStatus;
   DBSTATUS m_dwOrderIDStatus;
   DBSTATUS m_dwSubtotalStatus;
   DBSTATUS m_dwYearStatus;

   DBLENGTH m_dwShippedDateLength;
   DBLENGTH m_dwOrderIDLength;
   DBLENGTH m_dwSubtotalLength;
   DBLENGTH m_dwYearLength;

   // Bind columns
   [ db_column("1", status="m_dwShippedDateStatus", length="m_dwShippedDateLength") ] DBTIMESTAMP m_ShippedDate;
   [ db_column("2", status="m_dwOrderIDStatus", length="m_dwOrderIDLength") ] LONG m_OrderID;
   [ db_column("3", status="m_dwSubtotalStatus", length="m_dwSubtotalLength") ] CURRENCY m_Subtotal;
   [ db_column("4", status="m_dwYearStatus", length="m_dwYearLength") ] TCHAR m_Year[31];

   // Bind parameters
   [ db_param("1", paramtype="DBPARAMIO_OUTPUT") ] LONG m_RETURN_VALUE;
   [ db_param("2", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Beginning_Date;
   [ db_param("3", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Ending_Date;
};

요구 사항

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

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

참고 항목

OLE DB 소비자 특성