我的bodystr比较长,插到数据库后被切断了,为什么?
bodystr中没有包含'
bodystr:widestring;
 if bodystr<>'' then
                    begin
                  //  showmessage(workstr);                    ADOQuery1.Edit;
                    ADOQuery1.FieldByName('jobDetail').Value:=QuotedStr(bodystr);
                    ADOQuery1 .Post;
                     total:=total+1;
                    end;
发现数据库中的字段值为
assssssssssssssssstttttttttttttttttttttttttttttttttttttasssssssssssssssssttttttttttttttttttttttttttttttttttteeeeeeeeeeeeeeeeeeeeasssssssssssssssssttttttttttttttttttttttttttttttttttteeeeeeeeeeeeeeeeeeeeasssssssssssssssssttttttttttttttttttttttttttttttttttte(后面被切断了)

解决方案 »

  1.   

    数据库中jobDetail为什么类型,长度为多少!
      

  2.   

    如果数据比较长最好用Memo字段或者blob字段,access用OLe字段或者Memo当使用了长字符串类型的参数、变量时要引用ShareMem。 Delphi中的string类型很强大,我们知道普通的字符串长度最大为256个字符,但Delphi中string类型在默认情况下长度可以达到2G。(对,您没有看错,确实是两兆。)这时,如果您坚持要使用string类型的参数、变量甚至是记录信息时,就要引用ShareMem单元,而且必须是第一个引用的。既在uses语句后是第一个引用的单元。如下例: uses ShareMem, SysUtils, Classes; 还有一点,在您的工程文件(*.dpr)中而不是单元文件(*.pas)中也要做同样的工作,这一点Delphi自带的帮助文件没有说清楚,造成了很多误会。不这样做的话,您很有可能付出死机的代价。避免使用string类型的方法是将string类型的参数、变量等声明为Pchar或ShortString(如:s:string[10])类型。同样的问题会出现在当您使用了动态数组时,解决的方法同上所述。
      

  3.   

    jobDetail 是varchar,长度6000.
    to yanghai0437(流浪者) 
    引用ShareMem。 到底如何操作.我试了,不行
      

  4.   

    varchar 类型的数据最多长度只能是255;你定义多了也没用;
    换个类型
      

  5.   

    如何向mssql插入memo字段,这应该是个普通的问题才对啊.
    怎么没人知道?
      

  6.   

    47522341(睡到8:30) 你错了,SQL Server中varchar支持的最大长度为8000,有关数据类型问题可参考SQL Server联机帮助的相关内容。
      

  7.   

    你直接用sql语句插入的时候报错吗?
      

  8.   

    直接用sql语句插入的时候没报错,只是数据被截.
    表的字段的长度可能受到了限制,没有啊!
      

  9.   

    数据库用mssql,字段为varchar,长度8000
      

  10.   

    改成用access,问题依旧!
    难道没人有办法??
      

  11.   


       我碰到了同样问题,还没解决,数据字段类型随便改成什么类型都不可以,通过ADo总是只能输入297个字符
    我怀疑是ADO的问题,通过BDE好象没问题   找找ADO这方面的资料。