我的程序
db:TClientDataset;
.....
db.fieldbyName('ZD').asString:='我要付的值怎么会这样的呢';
等我回头再访问该字段的值的时候却发现少了两个汉字,变成'我要付的值怎么会这样'了,这是什么问题啊

解决方案 »

  1.   

    TClientDataset的该字段长度设长些
      

  2.   

    我提问的时候把程序简化了,我是把数据从一个ClientDataSet拷贝到另一个ClientDataSet.
    如:
    tdb,sdb:TClientdataset;
    ....
    with tdb.FieldDefs.AddFieldDef do
    begin
      DataType:=frString;
      Name:='ZD';
    end;
    tdb.CreateDataSet;
    tdb.append;
    tdb.fieldbyName('ZD').string:=sdb.fieldbyName('ZD').string;
    sdb是数据库中查询出来的一个数据集,其字段'ZD'里的值是'我要付的值怎么会这样的呢',但是拷贝到sdb里就变成'我要付的值怎么会这样'了;
      

  3.   

    那应该怎么增加宽度呢???这个ClientDataSet是动态创建的,那个字段也是动态创建的,字段类型是动态设定的。
      

  4.   

    tdb,sdb:TClientdataset;
    ....
    with tdb.FieldDefs.AddFieldDef do
    begin
      DataType:=frString;
      Name:='ZD';
      Size:=50;
    end;
    tdb.CreateDataSet;
    tdb.append;
    tdb.fieldbyName('ZD').string:=sdb.fieldbyName('ZD').string;