with Datamd.SQLmedia do begin // Insert
close;
sql.clear;
sql.add('Insert into Table ');
sql.add('(in_yymm,in_ilno,in_ijku,in_kubn,in_clcd,in_mscd,in_gjcd, ');
sql.add(' in_desc,in_aebn,in_aetm,in_aesb,in_inmt,in_jimt,in_exdt, ');
sql.add(' in_bknm,in_bkno,in_bklm,in_insb) ');
sql.add('values');
sql.add('(:p_yymm,:p_ilno,:p_ijku,:p_kubn,:p_clcd,:p_mscd,:p_gjcd, ');
sql.add(' :p_desc,:p_aebn,:p_aetm,:p_aesb,:p_inmt,:p_jimt,:p_exdt, ');
sql.add(' :p_bknm,:p_bkno,:p_bklm,:p_insb) ');
ParamByName('p_yymm').asstring := yymm;
ParamByName('p_ilno').asstring := ilno;
ParamByName('p_ijku').asstring := ijku;
ParamByName('p_kubn').asstring := kubn;
if ijku = '1' then begin //입금
ParamByName('p_clcd').asstring := ac_clcd.text;
ParamByName('p_inmt').asfloat := ac_amnt.value;
ParamByName('p_jimt').asfloat := 0;
end else
if ijku = '2' then begin //지급
ParamByName('p_mscd').asstring := ac_mscd.text;
ParamByName('p_gjcd').asstring := '';//ac_gjcd.text;
ParamByName('p_bknm').asstring := ac_bknm.text;
ParamByName('p_bkno').asstring := ac_bkno.text;
ParamByName('p_bklm').asstring := ac_bklm.text;
ParamByName('p_jimt').asfloat := ac_amnt.value;
ParamByName('p_inmt').asfloat := 0;
end;
ParamByName('p_exdt').asstring := ac_exdt.text;
ParamByName('p_desc').asstring := ac_desc.text;
ParamByName('p_aebn').asstring := ac_aebn.text;
ParamByName('p_aetm').asstring := ac_aetm.text;
ParamByName('p_aesb').asstring := ac_aesb.text;
ParamByName('p_insb').asstring := TR_sabn;
Execsql;
end;
jiku변수에 따라 if문을 타게 되는데.. 오라클에서는 설정된 파라메테에 값이 할당되지 않으면
에러가 나는데..
FireBird(2.0) 지금 저 소스는 잘 넘어 가네요...
왜 그렇죠?
|