안녕하세요.
간단한 질문하나... 워낙 아는게 없어서리...--ㅋ
아래와 같이 프로시져 생성 후 델파이 소스에서 리턴값을 받아서 사용하려 하는데...
오류가 나네요...
"qrysel : Field 'Return Value' not found"
오랜만에 해서리...--'
답변 부탁드립니다.
수고하세요.
<프로시져>
CREATE PROC up_konan16
@v_title_id varchar(10)
AS
select top 1 * from edi_cntinf_glo
<소스코드>
with qrySel do
begin
if active then close ;
sql.Text := ' DECLARE @return_value int'
+ ' EXEC @return_value = up_konan16 ' + 'BU1032'
+ ' SELECT ' + Quotedstr('Return Value') + '= @return_value ';
try
open;
except
showmessage('오류');
end;
if FieldByName('Return Value').AsInteger = 0 then
showmessage('ok')
else
showmessage('error');
end;
stored procedure 내용을 보면 edi_ctinf_glo 에서 데이터를 가져오네요...
그런데 v_title_id는 사용하지 않으셨는데 왜 선언을 햇는지요?..
v_title_id를 이용해 검색조건에 추가해주려고 했다면...where문이 포함이 되어야 겠지요?
그래서 아마도...
sql.Text := 'Exec up_konan16 @v_title_id = ''BU1032'' ';
이렇게 stored procedure를 호출해주는게 맞을것 같구요...
edi_cntinf_glo에 있는 필드를 가져오고 싶다면
FieldByName('Return Value') 대신에... edi_entinf_glo에 있는 필드명을 쓰셔야 할것같구요..
select할때는 *대신 가져오려는 필드명을 직접 적어주는것이 좋습니다.