Proud::CAdoCommand 클래스 참조
Proud::CAdoCommand에 대한 상속 다이어그램 :

Public 멤버 함수

PROUD_API CAdoCommand (ADODB::_Command *conn)
 
PROUD_API void Prepare (ADODB::_Connection *connection, const PNTCHAR *storedProcName, ADODB::CommandTypeEnum cmdType=ADODB::adCmdStoredProc)
 
PROUD_API void Execute (OUT long *recordsAffected=NULL)
 
PROUD_API void Execute (OUT CAdoRecordset &outRecordset, OUT long *recordsAffected=NULL)
 
PROUD_API CVariant GetParam (int index)
 
PROUD_API void SetParam (int index, const CVariant &value)
 
 __declspec (property(get=GetParam, put=SetParam)) CVariant Parameters[]
 
PROUD_API ADODB::_ParameterPtr AppendParameter (const PNTCHAR *paramName, ADODB::DataTypeEnum paramType, ADODB::ParameterDirectionEnum paramDirection, const CVariant &defaultValue)
 
PROUD_API ADODB::_ParameterPtr AppendParameter (const PNTCHAR *paramName, ADODB::DataTypeEnum paramType, ADODB::ParameterDirectionEnum paramDirection, const PNTCHAR *defaultValue)
 
PROUD_API ADODB::_ParameterPtr AppendParameter (ADODB::DataTypeEnum paramType, ADODB::ParameterDirectionEnum paramDirection, const PNTCHAR *defaultValue)
 
PROUD_API ADODB::_ParameterPtr AppendParameter (const PNTCHAR *paramName, ADODB::DataTypeEnum paramType, ADODB::ParameterDirectionEnum paramDirection)
 
PROUD_API ADODB::_ParameterPtr AppendParameter (const PNTCHAR *paramName, ADODB::DataTypeEnum paramType, ADODB::ParameterDirectionEnum paramDirection, const PNTCHAR *defaultValue, long length)
 
ADODB::_ParameterPtr AppendInputParameter (const PNTCHAR *paramName, const Guid &value)
 
ADODB::_ParameterPtr AppendReturnValue ()
 

추가로 상속된 멤버들

상세한 설명

ADO Command object를 wrapping한 클래스이다.

이것으로 stored procedure를 호출하는 방법은 다음과 같다.

  • Prepare로 호출할 stored procedure, active connection을 설정한다.
  • Parameters 멤버로 입력 아규먼트를 설정한다.
  • Execute로 준비된 stored procedure를 호출한다.
  • Parameters 멤버로 출력 아규먼트를 구한다.

예제

CAdoConnection db;
db.Open(L"Data Source=.;Database=ProudDB-Test;Trusted_Connection=yes");
CAdoCommand co;
co.Prepare(db,L"pn_sum");
co.Parameters[1]=1L;
co.Parameters[2]=2L;
co.Execute();
long x=co.Parameters[3];

멤버 함수 문서화

ADODB::_ParameterPtr Proud::CAdoCommand::AppendInputParameter ( const PNTCHAR *  paramName,
const Guid value 
)

Convenient function for AppendParameter.

PROUD_API ADODB::_ParameterPtr Proud::CAdoCommand::AppendParameter ( const PNTCHAR *  paramName,
ADODB::DataTypeEnum  paramType,
ADODB::ParameterDirectionEnum  paramDirection,
const CVariant defaultValue 
)

parameter 값을 붙인다.MsSQL에서는 별로 사용될 일이 없지만, MySQL에서는 SetParam대신 이 메소드를 사용해야 한다.

반환값
만들어진 _ParameterPtr
매개변수
paramName호출할 프로시져의 parameter의 이름
paramType데이터의 타입 ADODB::DataTypeEnum 참조.
paramDirection데이터의 들어갈 형태 ADODB::ParameterDirectionEnum 참조.(MySQL은 adParamInput만 쓰여야함.output 지원 안함)
defaultValue실제 프로시져에 전달될 값
PROUD_API ADODB::_ParameterPtr Proud::CAdoCommand::AppendParameter ( const PNTCHAR *  paramName,
ADODB::DataTypeEnum  paramType,
ADODB::ParameterDirectionEnum  paramDirection,
const PNTCHAR *  defaultValue 
)

동명 메소드 참조

매개변수
defaultValue실제 프로시져에 스트링 값
PROUD_API ADODB::_ParameterPtr Proud::CAdoCommand::AppendParameter ( const PNTCHAR *  paramName,
ADODB::DataTypeEnum  paramType,
ADODB::ParameterDirectionEnum  paramDirection 
)

동명 메소드 참조 다만, 내부적으로 _variant_t가 들어감

PROUD_API ADODB::_ParameterPtr Proud::CAdoCommand::AppendParameter ( const PNTCHAR *  paramName,
ADODB::DataTypeEnum  paramType,
ADODB::ParameterDirectionEnum  paramDirection,
const PNTCHAR *  defaultValue,
long  length 
)

동명 메소드 참조

매개변수
defaultValue실제 프로시져에 스트링 값
length스트링의 최대 길이
PROUD_API void Proud::CAdoCommand::Execute ( OUT long *  recordsAffected = NULL)

PrepareSP에 지정되었던 stored procedure를 실행한다.

매개변수
recordsAffectedstored procedure에 의해 영향받은 record의 갯수
PROUD_API void Proud::CAdoCommand::Execute ( OUT CAdoRecordset outRecordset,
OUT long *  recordsAffected = NULL 
)

PrepareSP에 지정되었던 stored procedure를 실행한다.

매개변수
outRecordset받아올 결과 레코드셋.
recordsAffectedstored procedure에 의해 영향받은 record의 갯수
PROUD_API CVariant Proud::CAdoCommand::GetParam ( int  index)

index가 가리키는 번째의 paramter 값을 구한다. PrepareSP를 호출한 후에 사용할 수 있다.

반환값
리턴되는 parameter 값.
매개변수
index몇번째 parameter의 값을 구할 것인가? 0은 stored procedure의 return value를, 나머지 parameter는 1-based index이다.
PROUD_API void Proud::CAdoCommand::Prepare ( ADODB::_Connection *  connection,
const PNTCHAR *  storedProcName,
ADODB::CommandTypeEnum  cmdType = ADODB::adCmdStoredProc 
)

stored procedure를 호출할 준비를 한다. 즉, ADO Connection, stored procedure name, inout argument 준비를 한다.

매개변수
connection
storedProcName
PROUD_API void Proud::CAdoCommand::SetParam ( int  index,
const CVariant value 
)

index가 가리키는 번째의 parameter 값을 설정한다. PrepareSP를 호출한 후에 사용할 수 있다.

매개변수
index몇번째 parameter의 값을 설정할 것인가? 0은 stored procedure의 return value를, 나머지 parameter는 1-based index이다.
value설정할 paramter 값

NOTE This function is very slow because of executing an additional stored procedure for getting procedure information. It is not recommended to use this function. The workaround is to use AppendParameter() instead.