我的环镜是SQL2000+D7,表有一个字段是VARCHAR(1000)用来保存能换行的备注信息,但在使用中有个问题,只能保存60多个字,其它的字被自动舍弃了???这是主什么呢?用的是DBMEMO控件,maxlength设置为0控件

解决方案 »

  1.   

    [Error] khxxdept.pas(118): Statement expected, but expression of type 'WideString' found
    我这样用了,不行
      

  2.   

    可能是你使用的客户端数据集控件中,该字段的长度属性的缺省设置被改小了,缺省是以数据库表中字段的长度为长度,即1000个char。
      

  3.   

    太长的栏位建议用text类型,然后在你的数据集里面相应的选择Memo类型,连接的数据感知组件默认是不显示Memo类型内容的,只需要在数据集字段的OnGetText事件做个处理就可以了
    procedure TfrmSaleProjTrackList.D1ProjSummaryGetText(Sender: TField;
      var Text: String; DisplayText: Boolean);
    begin
      inherited;
      text:=Trim(Sender.AsString);
      DisplayText:=True;
    end;
      

  4.   

    如果是用ADOQuery(或其他一些控件)连接的,双击这个控件,看一下是不是将列固定到里面了,如果固定在里面了,那里面有长度的设置,可能里面设置成60了。
      

  5.   

    为什么不使用支持TMemo字符类型呢?
      

  6.   

    谢谢!用你的方法解决了!在ADOQUERY里加了字段名,修改里面的SIZE就对了!