소스입니다.
f_DM1.sp_up_sabun.ParamByName('@org_sabun').AsString := us_sabun;
f_DM1.sp_up_sabun.ParamByName('@new_sabun').AsString := f_DM1.qry_a1['sabun'];
f_hRDMper1.sp_up_sabun.ExecProc;
의도는 간단합니다.
마스터 테이블의 사번이 바뀌면, detail 테이블의 사번도 바꿔주는 프러시져 입니다.
CREATE PROCEDURE dbo.sp_up_sabun
@org_sabun char(6),
@new_sabun char(6)
AS
update PER21 SET sabun = @new_sabun WHERE sabun = @old_sabun
GO
문제 발생.
1. @org_sabun 의 타입을 알 수 없다고 오류 발생.
2. 그래서 @org_sabun의 paramtype 속성을 "ptinput"으로 바꾸고(@new_sabun도...)
실행시키면
dbo.sp_up_sabun;1 을 찾을 수 없다는 오류발생.
3. 파라메터 없이 그냥 실행시키면 잘 됨.
환경
delphi 5.0, mssql7.0 BDE를 통해서 직접연결(sa계정사용)