在DBGrid中解决此问题,不要放在查询里。

解决方案 »

  1.   

    这样行不行: 
       另外加多一个字段类型, 比如 varchar2 的,他的数据就是 long 类型的前255位,你显示的时候,直接把这个字段显示出来.可不可以
      

  2.   

    1、先建立一个存储过程,作用是读取long信息,
       因为我的过程一次性返回long的信息,我这里定义了30000个字符
       所以最多只能返回30000个字符
    create or replace procedure readlong
    (tabletext in out varchar2)
    as
    eachrow varchar2(30000);
    begin
      for row_str in (select long_field from 表名 and rownum =1) loop
          eachrow := eachrow||trim(row_str.text);
      end loop;
      tabletext := eachrow;
      eachrow   := '';
    end;
    /2、用delphi测试
    with adostoredproc1 do
      begin
        close;
        parameters.parambyname('tabletext').value:='';
        execproc;
      end;
    edit1.text:=adostoredproc1.parameters.parambyname('tabletext').value;