sql.add('insert into differ_cycle_charge');
sql.add('select cycle_id_SEQ.nextval,:iserv_id,''0519'',:iacc_nbr,');
sql.add(':icharge,:inumber,:icompl_date,:insc_date,sysdate,');
SQL.ADD('NULL,NULL,NULL,NULL,NULL,NULL,');
sql.add(':icycle_type_id,:iacct_item_type_id,''W0A'',:istaffid,null,null,''1'',null');
sql.add('from dual');
parambyname('iserv_id').asinteger:=nserv_id;
parambyname('iacc_nbr').asstring:=nacc_nbr;
parambyname('icharge').asinteger:=ncharge;
parambyname('inumber').asinteger:=nnumber;
parambyname('icompl_date').asdatetime:=ncompl_date;
parambyname('insc_date').asdatetime:=nnsc_date;
parambyname('icycle_type_id').asinteger:=ncycle_type_id;
parambyname('iacct_item_type_id').asinteger:=nacct_item_type_id;
parambyname('istaffid').asinteger:=gistaffid;
Execsql;
然后就出错 list index out of bounds(0)
sql.add('select cycle_id_SEQ.nextval,:iserv_id,''0519'',:iacc_nbr,');
sql.add(':icharge,:inumber,:icompl_date,:insc_date,sysdate,');
SQL.ADD('NULL,NULL,NULL,NULL,NULL,NULL,');
sql.add(':icycle_type_id,:iacct_item_type_id,''W0A'',:istaffid,null,null,''1'',null');
sql.add('from dual');
parambyname('iserv_id').asinteger:=nserv_id;
parambyname('iacc_nbr').asstring:=nacc_nbr;
parambyname('icharge').asinteger:=ncharge;
parambyname('inumber').asinteger:=nnumber;
parambyname('icompl_date').asdatetime:=ncompl_date;
parambyname('insc_date').asdatetime:=nnsc_date;
parambyname('icycle_type_id').asinteger:=ncycle_type_id;
parambyname('iacct_item_type_id').asinteger:=nacct_item_type_id;
parambyname('istaffid').asinteger:=gistaffid;
Execsql;
然后就出错 list index out of bounds(0)
SQL。CLOSE;
SQL。CLEAR;
begin
close;
sql.clear;
sql.add('insert into differ_cycle_charge');
sql.add('select cycle_id_SEQ.nextval,:iserv_id,''0519'',:iacc_nbr,');
sql.add(':icharge,:inumber,:icompl_date,:insc_date,sysdate,');
SQL.ADD('NULL,NULL,NULL,NULL,NULL,NULL,');
sql.add(':icycle_type_id,:iacct_item_type_id,''W0A'',:istaffid,null,null,''1'',null');
sql.add('from dual');
parambyname('iserv_id').asinteger:=nserv_id;
parambyname('iacc_nbr').asstring:=nacc_nbr;
parambyname('icharge').asinteger:=ncharge;
parambyname('inumber').asinteger:=nnumber;
parambyname('icompl_date').asdatetime:=ncompl_date;
parambyname('insc_date').asdatetime:=nnsc_date;
parambyname('icycle_type_id').asinteger:=ncycle_type_id;
parambyname('iacct_item_type_id').asinteger:=nacct_item_type_id;
parambyname('istaffid').asinteger:=gistaffid;
Execsql;
end;
就是这样,哪个高手帮我一下????
这是一个好的习惯
fields.clear;
试试
但是我在另一个FORM里用的就没问题呀,
请那位高手指点一下,不胜感激!
sql.add('insert into differ_cycle_charge');
.......2 一种可能
parambyname 出错 param也是一个TList类型
parambyname(xxx').asinteger:=strtoint(dblk_acctitemtype.keyvalue);
execsql;
然后就出错,list index out of bounds(0)。
但是我在另外的FORM中用的好好的呀,一模一样!
老大,你在帮我看看,是那里错了!谢谢!
而且不用到TDBLookupComboBox。
在执行EXECSQL后,还是出错,但是记录已经插入到表里了!
为什么??
为什么????
为什么?????
是不是你的select和insert的字段对应不对,才出现数据的越界呢,
就保留
sql.add('insert into differ_cycle_charge(state)');
sql.add('values(''W0A'')');
execsql;
然后就出错 list index out of bounds(0)。
怎么回事呀?以前都用的好好的呀!