with storedproc1 do
begin
close;
parambyname('sezyh').AsString:=qryzymx.fieldbyname('zyh').AsString;
parambyname('secaseno').AsString:=scaseno;
parambyname('seclasscode').AsString:=dblookupcombobox1.KeyValue;
prepare;
execproc;
end;三个参数都是ptinput,
storedbindmode:pbbyname
程序运行可以通过,但没有真正执行? 我头疼还有哪里会错了呢,是不是INFORMIX的数据库无法用STOREDPROC执行?
PROCEDURE如下:
create procedure "life".sp_jdyp1(sezyh char(10),secasenochar(15),seclasscode char(8)) returning integer;
define sefyrq date;
define sefyxh integer;
define sefymc char(60);
define sefysl integer;
define sefydj decimal(16,2);
define seyplx smallint;
define sepdbj char(1);
define seroowid decimal(16);
define kxmbm char(20);
define semedtype char(5);
define seybsx char(10);
define sebchbl decimal(4,3);
define k,i integer;
define aa,bb decimal(16,3); let K = 1;
let i = 0;
foreach cur1 for
select
fyrq,fyxh,fymc,fysl,fydj,yplx,pdbj,roowid
into
sefyrq,sefyxh,sefymc,sefysl,sefydj,seyplx,sepdbj,seroowid
from t_fromrmyy
where zyh = sezyh
order by fyrq IF seyplx=0 THEN
select xmbm into kxmbm from t_yptran where fybm=sefyxh;
END IF IF seyplx>0 THEN
select xmbm into kxmbm from t_yptran where ypbm=sefyxh;
END IF IF kxmbm is NULL THEN
update t_fromrmyy set pdbj='N' where zyh=sezyh and roowid=seroowid;
ELSE
select medtype,ybsx into semedtype,seybsx from t_medcial
where medno=kxmbm;
select bchbl into sebchbl from t_ybsxb where ybsx=seybsx and classcode=seclasscode;
let aa=sefydj*sefysl;
let bb=sefydj*sefysl*sebchbl;
insert into t_fyqd
(citycode,caseno,medno,dj,sl,je,fyrq,medtype,ybsx,xh,bchbl,bchje)
values
('WUXJY',secaseno,kxmbm,sefydj,sefysl,aa,sefyrq,semedtype
,seybsx,k,sebchbl,bb);
update t_fromrmyy set pdbj='Y' where zyh=sezyh and roowid=seroowid;
let k = k+1;
let i = i+1;
END IFend foreach return i;
end procedure;
begin
close;
parambyname('sezyh').AsString:=qryzymx.fieldbyname('zyh').AsString;
parambyname('secaseno').AsString:=scaseno;
parambyname('seclasscode').AsString:=dblookupcombobox1.KeyValue;
prepare;
execproc;
end;三个参数都是ptinput,
storedbindmode:pbbyname
程序运行可以通过,但没有真正执行? 我头疼还有哪里会错了呢,是不是INFORMIX的数据库无法用STOREDPROC执行?
PROCEDURE如下:
create procedure "life".sp_jdyp1(sezyh char(10),secasenochar(15),seclasscode char(8)) returning integer;
define sefyrq date;
define sefyxh integer;
define sefymc char(60);
define sefysl integer;
define sefydj decimal(16,2);
define seyplx smallint;
define sepdbj char(1);
define seroowid decimal(16);
define kxmbm char(20);
define semedtype char(5);
define seybsx char(10);
define sebchbl decimal(4,3);
define k,i integer;
define aa,bb decimal(16,3); let K = 1;
let i = 0;
foreach cur1 for
select
fyrq,fyxh,fymc,fysl,fydj,yplx,pdbj,roowid
into
sefyrq,sefyxh,sefymc,sefysl,sefydj,seyplx,sepdbj,seroowid
from t_fromrmyy
where zyh = sezyh
order by fyrq IF seyplx=0 THEN
select xmbm into kxmbm from t_yptran where fybm=sefyxh;
END IF IF seyplx>0 THEN
select xmbm into kxmbm from t_yptran where ypbm=sefyxh;
END IF IF kxmbm is NULL THEN
update t_fromrmyy set pdbj='N' where zyh=sezyh and roowid=seroowid;
ELSE
select medtype,ybsx into semedtype,seybsx from t_medcial
where medno=kxmbm;
select bchbl into sebchbl from t_ybsxb where ybsx=seybsx and classcode=seclasscode;
let aa=sefydj*sefysl;
let bb=sefydj*sefysl*sebchbl;
insert into t_fyqd
(citycode,caseno,medno,dj,sl,je,fyrq,medtype,ybsx,xh,bchbl,bchje)
values
('WUXJY',secaseno,kxmbm,sefydj,sefysl,aa,sefyrq,semedtype
,seybsx,k,sebchbl,bb);
update t_fromrmyy set pdbj='Y' where zyh=sezyh and roowid=seroowid;
let k = k+1;
let i = i+1;
END IFend foreach return i;
end procedure;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货