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

FireBird Q&A
[759] Procedure 알려주세요...
민트 [] 1774 읽음    2003-06-16 03:05
프로시저를 만든후 IBExper에서 실행을 하면 정상적으로 값을 가지고 오는데...
c++ 빌더에서 아래의 코딩처럼 하면 RtnValue 값이 무조건 0 이 나오네요..
무엇이 잘못되었을까요?


float RtnValue = 0;

  IBSP_GolfAmt->Close();
  IBSP_GolfAmt->ParamByName("VSV_GOLF_CD")->AsString = GolfCd;
  IBSP_GolfAmt->ParamByName("VSV_GET_YMD")->AsDate   = GetYmd;
  BSP_GolfAmt->ExecProc();
  RtnValue = DM_MainF->IBSP_GolfAmt->FieldByName("VNR_GOLF_AMT")->AsFloat ;

========================================================
Procedure 내용

SET TERM ^ ;

ALTER PROCEDURE SP_GOLF_PRICE (
    VSV_GOLF_CD VARCHAR(10),
    VSV_GET_YMD DATE)
RETURNS (
    VNR_GOLF_AMT FLOAT)
AS
DECLARE VARIABLE LNV_APPLY_AMT NUMERIC(14,0);
begin
  VNR_GOLF_AMT = -1;
  LNV_APPLY_AMT= -1;

  select apply_amt
    from golf_price
   where golf_cd = :VSV_GOLF_CD
     and :VSV_GET_YMD between start_ymd and end_ymd
    into :LNV_APPLY_AMT;

  if (LNV_APPLY_AMT > 0 ) then
    VNR_GOLF_AMT = LNV_APPLY_AMT;
  else
    select apply_amt
      from golf_price
     where golf_cd = :VSV_GOLF_CD
       and seq = (select min(seq)
                    from golf_price
                   where golf_cd = :VSV_GOLF_CD
                     and apply_amt > 0 )
    into :VNR_GOLF_AMT;
--    into :VNR_GOLF_AMT;
  /* Procedure Text */
  suspend;
end

^

SET TERM ; ^



+ -

관련 글 리스트
759 Procedure 알려주세요... 민트 1774 2003/06/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.