아무도 답변을 해주시는 분이 없어서.. 혼자서 낑낑대다가 3일만에 겨우 알아냈습니다. -.-
참.. C++빌더라는 컴파일러가 좋긴하지만, 남한테 추천하기는 힘드네요.. 이렇게 정보 얻기가 힘들어서야..
아래는 해당 유저가 DB상에 존재하는가를 검사하는 프로시져입니다. 1이면 있음, 0이면 없음, 그 외의 값이면 DB에 문제가 있는거겠죠..
create or replace procedure IsExistUser(pID IN PersonalInfo.ID%type, pExist OUT Number) AS
begin
Select Count(Inx)
Into pExist
From PersonalInfo
Where ID = pID;
Exception
when NO_DATA_FOUND then
pExist := 0;
End IsExistUser;
/
아래는 ADOStoreProc를 이용한 소스입니다..
OleVariant Value;
TParameter *lpParam;
clADO.lpADOProc[pThreadID]->Close();
clADO.lpADOProc[pThreadID]->ProcedureName = "IsExistUser";
clADO.lpADOProc[pThreadID]->Parameters->Clear();
clADO.lpADOProc[pThreadID]->Parameters->CreateParameter("pID", ftString, pdInput, 0, NULL);
clADO.lpADOProc[pThreadID]->Parameters->CreateParameter("pExist", ftInteger, pdOutput, 0, &Value);
clADO.lpADOProc[pThreadID]->Parameters->ParamByName("pID")->Value = pID; // 여기에 ID입력
clADO.lpADOProc[pThreadID]->ExecProc();
lpParam = clADO.lpADOProc[pThreadID]->Parameters->FindParam("pExist");
return Integer(lpParam->Value);
|