|
ADOCommand 객체를 사용하셔야 될 겁니다.
ADOStoredProc 객체도 가능할 겁니다.
(확실하게 말씀못드리는 건 빌더에서는 사용해보지 못해서입니다. 웹개발 겸업인지라 asp에서는 많이 써봤습니다만)
command 객체나 stroedProc 객체의 Parameters 프로퍼티의 AddParameter로 원하시는 파라미터를 추가하시면 될 겁니다. 빌더의 help를 찾아보니 아래와 같은 예제가 나오네요.
ADOStoredProc1->AddParameter;
PCount = ADOStoredProc1->Parameters->Count - 1;
ADOStoredProc1->Parameters[PCount]->DataType = ftString;
ADOStoredProc1->Parameters[PCount]->Direction = pdInput;
ADOStoredProc1->Parameters[PCount]->Value = "malathion";
pdInput 대신 ouput개념이 존재하는 것으로 알고 있습니다.
ADOCommand 객체나, ADOStoredProc 객체의 help를 찾아보시면 참고할 만한 예제들도 많은 듯 합니다.
그리고 SQL서버의 Stored Procedure의 인자로도 output 인자로 선언하셔야 될 겁니다.
아래처럼 output 만 붙여주시면 되는 것으로 알고 있습니다.
ALTER proc Sp_Date_idx
@idx varchar(17) output
AS
BEGIN
......
도움 되셨으면 좋겠습니다.
초보자 님이 쓰신 글 :
: DB는 SQL2000 Server를 사용하고 있습니다.
: DB에 저장은 ADO를 사용해서 프로시져로 저장하고 있습니다.
:
: ExecSQL()를 사용해서 DB에 저장할때 리턴값이 있을때는 어떻게 받아야 하는지 자료를 찾아봐도
: 관련자료 찾기가 너무 힘드네요.
:
: 예를들어 아래처럼 DB에 저장할때 서버쪽에서 저장이 성공적으로 되면 TRUE 값을 준다고 하는데
: 그것을 어떻게 받아야 하는지요? 아시는분 부탁드립니다.
:
: void TfrmMain::Procedure_Save(int nid, int nstate)
: {
: try
: {
: adoQuery1->SQL->Clear();
: adoQuery1->SQL->Add("프로시져 Name :nid, :nstate");
:
: adoQuery1->Parameters->Items[0]->Value = nid;
: adoQuery1->Parameters->Items[1]->Value = nstate;
:
: adoQuery1->ExecSQL();
: }
: catch(const EOleException &E)
: {
: }
: catch (Exception &exception)
: {
: }
: }
|