C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[42206] Re:[질문] 프로시져 리턴값을 받는 방법
ayh [] 1425 읽음    2005-10-19 17:20
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)
:     {
:     }
: }

+ -

관련 글 리스트
42205 [질문] 프로시져 리턴값을 받는 방법 초보자 1153 2005/10/19
42206     Re:[질문] 프로시져 리턴값을 받는 방법 ayh 1425 2005/10/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.