本人用delphi在前台做了一个界面,后台用oracle 10,其中有一个表连接中,本人使用了这个ADODataSet连接,在运行过程中运行时执行的代码如下,
  ADOchaxun.Close;
  ADOchaxun.CommandText:='insert into ifsapp.XZ_ZHIXIANDATACHAXUN(id,PART_NO,ZHIXIANGCODE,ZHIXIANGNAME,QTY_PER_ASSEMBLY)'+
                         ' select 0,PART_NO,COMPONENT_PART,INVENTORY_PART_API.Get_Description(Contract,COMPONENT_PART),QTY_PER_ASSEMBLY from ifsapp.CONFIG_STRUCTURE'+
                         ' where COMPONENT_PART like ''401%'' and PART_NO like ''%B150599%''; select * from XZ_ZHIXIANDATACHAXUN';
  ADOchaxun.Open;
但它却出现ORA-00911 invalid character
原因是在两个select语句之间有个分号,分号之后要用回车符来分隔,SQL SERVER中是用#13来表示,而且可行,但是在oracle中却不行,请教各位oracle的回车符号如何在一连串代码中外理。如何解决这个问题。

解决方案 »

  1.   

    你用chr(13)來代替回車,試試看
      

  2.   

    我试过把代码加在中间
      ADOchaxun.Close; 
      ADOchaxun.CommandText:='insert into ifsapp.XZ_ZHIXIANDATACHAXUN(id,PART_NO,ZHIXIANGCODE,ZHIXIANGNAME,QTY_PER_ASSEMBLY)'+ 
                            ' select 0,PART_NO,COMPONENT_PART,INVENTORY_PART_API.Get_Description(Contract,COMPONENT_PART),QTY_PER_ASSEMBLY from ifsapp.CONFIG_STRUCTURE'+ 
                            ' where COMPONENT_PART like ''401%'' and PART_NO like ''%B150599%''; char(13)  select * from XZ_ZHIXIANDATACHAXUN'; 
      ADOchaxun.Open; 
    但不是出现同样的错误,请教代码如何操作
      

  3.   

    我用DELPHI做过类似程序,在一个ADO的TEXT中连写2个SQL语句是不可以的~~
    你只能ADO.TEXT:=SQL1;
          ADO.EXECSQL;
          ADO.TEXT:=SQL2;
           ADO.SQL.OPEN;