運行
  with sfc600c do begin
   if active then close;
   sql.Clear ;
   sql.add(select * from RSFC600C where MOVE_TYPE='601'
 and  DOCU_DATE>=TO_DATE('2003/8/9','yyyy/mm/dd')  and  DOCU_DATE<=TO_DATE('2003/9/9','yyyy/mm/dd') ');
   open;出現擦capability not suproted究竟是甚麼問題阿
在數局庫執行語句
select * from RSFC600C where MOVE_TYPE='601'
 and  DOCU_DATE>=TO_DATE('2003/8/9','yyyy/mm/dd')  and  DOCU_DATE<=TO_DATE('2003/9/9','yyyy/mm/dd') 
沒有問題阿如何解決阿

解决方案 »

  1.   

    你的sql.add()里面应该是字符串。还有如果字段类型是字符串应该有‘’
    另外这是什么库呀。??
      

  2.   

    1)你的sql是否临时生成的?
    2)sql的数据连接配置好了没有?
    3) 在 with sfc600c do begin...
       后面加上end.
    4) 回头再聊
      

  3.   

    不支持这样的操作符?
    呵呵
    改成这样
        sql.add('select * from RSFC600C where MOVE_TYPE=''601''');
       sql.add(' and  DOCU_DATE>=TO_DATE(''2003/8/9'',''yyyy/mm/dd'')  and  DOCU_DATE<=TO_DATE(''2003/9/9'',''yyyy/mm/dd'') ');
       open;
      

  4.   

    sql.add('select * from RSFC600C where MOVE_TYPE='601'
     and  DOCU_DATE>=TO_DATE('2003/8/9','yyyy/mm/dd')  and  DOCU_DATE<=TO_DATE('2003/9/9','yyyy/mm/dd') ');
    寫錯了
    是字符串阿oracle
      

  5.   

    sql.add('select * from RSFC600C where MOVE_TYPE='601'
     and  DOCU_DATE>=TO_DATE('2003/8/9','yyyy/mm/dd')  and  DOCU_DATE<=TO_DATE('2003/9/9','yyyy/mm/dd') ');
    应当改成
    sql.add('select * from RSFC600C where MOVE_TYPE=''601''
     and  DOCU_DATE>=TO_DATE(''2003/8/9'',''yyyy/mm/dd'')  and  DOCU_DATE<=TO_DATE(''2003/9/9'',''yyyy/mm/dd'') ');
    因为那是字串中的字串啊
      

  6.   

    你的QUERY到底联接上没有?
    sql.add('select * from RSFC600C ');
    有返回结果吗?