|
답변주시는 분이 거의... 없지만, 오기로 계속 올려보겠습니다. -.-
오라클의 저장 프로시져는 아래와 같습니다. 인자로 받은 pID값이 테이블에 존재하면 1, 없으면 0를 리턴하는 역할을 합니다..
그런데, ADO로 프로시져를 실행하면 CommandText does not return a result set. 라는 에러창이 뜹니다..
create or replace procedure IsAccount(pID IN UserPersonalInfo.ID%type, pCount OUT Number) AS
begin
Select Inx
Into pCount
From UserPersonalInfo
Where ID = pID;
Exception
when NO_DATA_FOUND then
pCount := 0;
End IsAccount;
ADO로 짠 소스는 아래와 같습니다..
lpADOProc->ProcedureName = "IsAccount";
lpADOProc->Parameters->Clear();
lpADOProc->Parameters->CreateParameter("pID", ftString, pdInput, 8, NULL);
lpADOProc->Parameters->CreateParameter("pCount", ftInteger, pdOutput, 4, NULL);
lpADOProc->Parameters->ParamByName("pID")->Value = pID;
lpADOProc->ExecProc();
lpADOProc->Active = true; // ### 여기서 CommandText does not return a result set. 에러 발생 ###
if(lpADOProc->RecordCount != 1)
{
lpADOProc->Active = false;
return false;
}
lpADOProc->Active = false;
return true;
그리고, 한가지 더 궁금한게 CreateParameter에서 준 pdOutput을 넣으면 저장프로시져로부터 값을 리턴받는걸로 아는데, 어떻게 값을 받아내는거죠?
|