str:='SELECT a.*
from lib_cb a
where a.isbn like decode('||isbn||',null,a.isbn,'||misbn||')
      and ydrq>='||ydrq1||' and ydrq<='||ydrq2||' 
      and cgrq is null';date类型的变量应该加上单引号
str:='SELECT a.*
from lib_cb a
where a.isbn like decode('||isbn||',null,a.isbn,'||misbn||')
      and ydrq>='''||ydrq1||''' and ydrq<='''||ydrq2||''' 
      and cgrq is null';

解决方案 »

  1.   

    Lastdrop(空杯) :
    你可以給我一份DELPHI+ORACLE的代碼嗎﹐我正在學習DELPHI+ORACLE的開發。
    以前用的的是delphi+sql server ﹐現在正打算用ORACLE做后台﹐我最近試者
    用DELPHI+ORACLE寫程序﹐但還是遇到問題﹐包括上面提到的問題 。我想看看一
    份原程序﹐讓我了解如何寫delphi+oracle的程序﹐書也可以。謝謝
      

  2.   

    to: orablue(orablue)  
     不好意思,我并不是用DELPHI+ORACLE写程序,我只是针对他的PL/SQL做答的。你到Delphi版去看看,应该有所收获。
      

  3.   


      算了,把分给我吧。  你把你的存储过程写成一个function返回类型是ref cursor,然后在function里打开这个游标变量就是了。  这样一样能达到procedure的功能。