begin
SQL.Clear;
SQL.add('INSERT INTO work_order(OPER_SERIAL_NBR_97 ,ORDER_SERIAL_NBR,ORDER_TYPE_ID, AREA_ID,');
sql.add('SERV_DEVICE,ACC_NBR,BATCH_SERIAL_NBR,APPLY_DATE,STATE_DATE,AFFIRM_DATE,
OPER_STATE,OPER_DATE)');
SQL.Add('values(oper_serial_nbr_qj97.nextval,oper_serial_nbr_qj97.currval, ''2010'',''0728'',
''10'',');
sql.add(':acc_nbr,oper_serial_nbr_qj97.currval, to_date(:APPLY_DATE,''YYYYMMDD''),to_date(:APPLY_DATE,''YYYYMMDD''),to_date(:APPLY_DATE,''YYYYMMDD''),''1'',sysdate');
if Prepared = False then
prepare;
paramByName('acc_nbr').asstring:=trim(suiEdit1.text);
paramByName('apply_date').Asstring:=trim(suiEdit5.text);
execSQL;
end;现在是执行时报缺少逗号,ORA-00917: missing comma ,救救我
SQL.Clear;
SQL.add('INSERT INTO work_order(OPER_SERIAL_NBR_97 ,ORDER_SERIAL_NBR,ORDER_TYPE_ID, AREA_ID,');
sql.add('SERV_DEVICE,ACC_NBR,BATCH_SERIAL_NBR,APPLY_DATE,STATE_DATE,AFFIRM_DATE,
OPER_STATE,OPER_DATE)');
SQL.Add('values(oper_serial_nbr_qj97.nextval,oper_serial_nbr_qj97.currval, ''2010'',''0728'',
''10'',');
sql.add(':acc_nbr,oper_serial_nbr_qj97.currval, to_date(:APPLY_DATE,''YYYYMMDD''),to_date(:APPLY_DATE,''YYYYMMDD''),to_date(:APPLY_DATE,''YYYYMMDD''),''1'',sysdate');
if Prepared = False then
prepare;
paramByName('acc_nbr').asstring:=trim(suiEdit1.text);
paramByName('apply_date').Asstring:=trim(suiEdit5.text);
execSQL;
end;现在是执行时报缺少逗号,ORA-00917: missing comma ,救救我
tmp:='select * from aaa';//在这里写你的sql语句
sql.add(tmp);这样写的好处是如果出了错误,你可以用edit1.text:=tmp来输出sql语句进行判断,或者直接拿到客户端执行一下看看,方便修改
具体语句就不给你看了,自己改一下吧,问题不难,就是方法不对而已
这样报太长!
Str_work_order1 和Str_work_order2谢谢楼上