对不起,错了,你看到text属性了吗??
可能行,我也不知道,反正帮你看看了。

解决方案 »

  1.   

    Text字段就是Memo字段。要流来读。
      

  2.   

    我认为text字段的长度可能就为32k,要么用memo字段代替,要么建议对于满30k的字段增加动态
    text或者临时表!至于如何实现,对不起!希望有大虾能告诉你我!
      

  3.   

    本人想补充:Text字段最大存储容量为2G-2
    在向数据表中写数据是用的ParmbyName有AsMemo属性
    其允许用户向Text字段加长度小于2G的字串!
    但问题是如何读出来,FeildByName('').asstring(.value)
    能读出的字串长度最大为32k吗?如果是的话,有什么
    办法能跨越这个局限。嗨,不知道算不算Delphi的Bug,
    小民无知!
      

  4.   

    我觉得从数据库中取出后,赋给的变量类型也有关系,如果是STRING类型的,肯定是不行,试试ANSISTRING或WIDESTRING。
      

  5.   

    楼上的,为什么String类型一定不行呀??String不是也有32位的吗???
      

  6.   

    to zfmich():
    String不就是分成ShortString,AnsiString和WideString吗????
      

  7.   

    32位?没有吧。看看这个:
    Type Maximum length Memory required Used for
    ShortString 255 characters 2 to 256 bytes backward compatibility
    AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI) characters
    WideString ~2^30 characters 4 bytes to 2GB Unicode characters; 
    COM servers and interfaces
      

  8.   

    用的是ODBC数据源吗?如果是可以调整ODBC驱动参数,但最大也只能1000k.
    具体做法如下:
      1,打开BDE管理程序,选择configuration页
      2,点开drivers->Odbc,找到你所用的odbc驱动
      3, 更改blob size大小,具体含义看帮助就行了。有的驱动可能没有这一项。祝你好运!
      

  9.   

    To zfmich():
    2^31是什么意思?不就是2的31次方吗??那还不是32位是什么???请楼上的大侠解释~~~~
      

  10.   

    to eshell(慢慢爬吧):
    We're trying, thanks....
      

  11.   

    to eshell(慢慢爬吧):
    blob size大小已经是32了,还要怎么改呢??请指教~~~~~~~
      

  12.   

    to zfmich():
    早就试过了,还加了{H+},但还是没有用呀,兄弟~~~~~~~~.
      

  13.   

    to eshell(慢慢爬吧):
    blob size大小单位是K对吧?那我把它改大试试,谢谢~~~~~~
      

  14.   

    我是说直接用ANSISTRING或WIDESTRING,我都可以,你为什么不可以?我也一样从数据库中读取TEXT类型字段。String types can be mixed in assignments and expressions; the compiler automatically performs required conversions. But strings passed by reference to a function or procedure (as var and out parameters) must be of the appropriate type. Strings can be explicitly cast to a different string type (see Typecasts).
      

  15.   

    to eshell(慢慢爬吧):
    改成了64还是不行啊,还有什么更好的招数没有???
      

  16.   

    to zfmich():
    那你是怎么样取的呀,能不能给一小段源码呀??你上面说的那些在联机中我也参详过很多次了,谢谢~~~~~~
      

  17.   

    to zfmich():
    忘了问你,你从Text中读出来的数据块是否大于32K呀???
      

  18.   

    我不知道我说的是不是和你们指的一样。function  GetOperCompanyPermit(sOperNo:string):AnsiString; //string ->AnsiString //modify by czf 0518
    var
        sSql :string;
    begin
        //add by czf 0518  //判断是否已有Oper_Company_Permit字段
        if not IsExistColumn('Operator','Oper_Company_Permit') then
        begin
            AddNewColumn('Operator','Oper_Company_Permit','text null');  //varchar ->text  //0518 czf
            Result :='';
            exit ;
        end;    sSql :='select * from operator where oper_code ='''+ trim(sOperNo)+'''';
        OpenQuery(wagedata.query,sSql,false);    if not wagedata.query.fieldbyname('Oper_Company_Permit').isnull then       // wagedata.query.IsEmpty    //modify by czf 0518
           begin
               Result :=wagedata.query.fieldbyname('Oper_Company_Permit').asstring;
           end
        else
           begin
               Result :='';    //NULL->''    //modify by czf 0518
           end;
    end;
      

  19.   

    to zfmich():
    我再试试,Thanks...
      

  20.   

    to ALL:
    不行啊,快救命啊~~~~~~~~
      

  21.   

    改成1000,记住存盘,不要使用Asstring读写,可直接存到文件里,再打开,或直接用流存取。
    要显示可先用DBMemo控件显示看对不对。
      

  22.   

    to eshell(慢慢爬吧):
    好,我再试试,Thx....