我执行一个存储过程TStoredProc返回一个结果集,用下面的方法取出字段内的值,
FieldByName('vc_reff').AsString
发现结果最长为255个字符,请问,如果获取超过255个字符的字段值ps:见到TParam有AsMemo方法,但是TField没有啊

解决方案 »

  1.   

    每一种不同的FIELD,其对ASSTRING的实现是不同的. 对普通的TStringField, 是可以单独定义DATASIZE的,你所见到的255字节限制是由于你的存储过程返回的数据长度是255了
      

  2.   

    应该是楼上所说的情况,asstring是够长的。
    AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI) characters, DBCS ANSI, MBCS ANSI, etc.
      

  3.   

    asString应该是根据字段来自动适应大小的
      

  4.   

    我用的 Paradox DB文件,用AsString没有出现255的限制。
      

  5.   

    如果你的TStoredProc返回的字段是blob或binary类型,可用
     MS: TMemoryStream;
    ...
    (FieldByname('vc_reff') AS TBlobField).SaveToStream(ms);
    的方法,然后用TString的LoadFromStream读出来