解决方案 »

  1.   

      qry.sql := 'select field_1 from v_abc ';
    你SQL应该这样赋值額~ADOQuery1.SQL.Text :=  'select field_1 from v_abc ';
    或者
    ADOQuery1.SQL.clear;
    ADOQuery1.SQL.Add('select field_1 from v_abc ');
    如果语句  select field_1 from v_abc   本身运行无问题,那就说明可以调用方法函数了。
      

  2.   

    视图v_abc字段field_1是通过oracle方法 fun_xxx(p1)获取后得到的,如果只是表格额某一字段就没有问题,但是通过方法二次查询获取就不行了。
      

  3.   

    先把'select field_1 from v_abc '; 这个showmessage一下 看看语句是否错误
      

  4.   

    首先,你必需保证你的语句
    select  *  from v_abc
    在 sql plus 或 PL/SQL Developer  等工具里面调试通过…
    TQuery只是一个获取数据的载体,如果你语句本身都调试不过去,肯定会报错了……
      

  5.   

    谢谢各位,先把'select field_1 from v_abc '; 这个showmessage一下 看看语句是否错误
    SQL本身没有问题,视图也可以编译通过,就是在用TQuery打开数据集时报错。
    最后判断是视图的查询字段里用到的外函数个数太多所致(超过4个),引用外函数的字段减少到4个以下就可以了。
    再次谢谢各位!