就是一个简单的 select 语句 放到pl/sql 执行正常 放到 adoquery 却异常 驱动用的是 ; oracle provider for  ole db
select marc.MARC_REC_NO, case PERI_TYPE when '0' then '正常刊' when '1' then '改名刊' when '2' then '停刊' when '3' then '停定刊' else '不定' end as 状态, case ORD_FLAG   when '0' then '未发订'   when '1' then '已发订' else '不定' end as 发订状态 from  marc   ,PERI_ORD_DETL  where marc.marc_rec_no =PERI_ORD_DETL.marc_rec_no and PERI_ORD_DETL.peri_ord_cata_id='4BE9F5BA819749C984CE13D922E22C87'经测试发现  只要sql 里包含一个case 可以执行 多个case 就异常 

解决方案 »

  1.   

    select marc.MARC_REC_NO, case when PERI_TYPE = '0' then '正常刊' when PERI_TYPE = '1' then '改名刊' when PERI_TYPE = '2' then '停刊' when PERI_TYPE = '3' then '停定刊' else '不定' end as 状态, case when ORD_FLAG='0' then '未发订'   when ORD_FLAG='1' then '已发订' else '不定' end as 发订状态 from  marc   ,PERI_ORD_DETL  where marc.marc_rec_no =PERI_ORD_DETL.marc_rec_no and PERI_ORD_DETL.peri_ord_cata_id='4BE9F5BA819749C984CE13D922E22C87'这个应该是不关adoquery的事的,改成这样看看,实在没办法就做成视图吧
      

  2.   

    不是adoquery的问题那是哪的问题   写法不同 ?
    第一次 delphi+oracle  没想到这么不顺  我原本以为 pl/sql里能执行的 放到adoquery里都可以 现在看来不是 
      

  3.   

    select * from (select marc.MARC_REC_NO, case when PERI_TYPE = '0' then '正常刊' when PERI_TYPE = '1' then '改名刊' when PERI_TYPE = '2' then '停刊' when PERI_TYPE = '3' then '停定刊' else '不定' end as 状态, case when ORD_FLAG='0' then '未发订'   when ORD_FLAG='1' then '已发订' else '不定' end as 发订状态 from  marc   ,PERI_ORD_DETL  where marc.marc_rec_no =PERI_ORD_DETL.marc_rec_no and PERI_ORD_DETL.peri_ord_cata_id='4BE9F5BA819749C984CE13D922E22C87') a
    再来一下,不行俺也没办法了
      

  4.   

    楼主,你把用Adoquery的代码Delphi代码页贴出了看看
      

  5.   

    建议你在MSSQL数据库中测试一下看看,
    是不是语句有问题吧
      

  6.   

    看不出问题,
    可以改成case when xx='1' then ... when xx='2' ...搜索模式看看
    或者oracle也可以用decode函数实现相同的功能
      

  7.   

    1: 用 ORACLE 自带的驱动,不要用OLE的
    2: 改用BDE 
    如果是第三方数据库的话,我用delphi+oracle 用了12年,没有任何问题,如果是SQL SERVER,MYSQL用ADO可以,但只能是独立功能模块,ERP成个方案用ADO就要小心了
      

  8.   

    ORACLE+DELPHI编程,我也想学习学习
      

  9.   

    解决方法 请参见我的博客
    http://blog.csdn.net/chinawcs/article/details/7615687