A:TClientDataset;
  B:TClientDataset;
  现在假设A已经存在数据
  B.data:=A;
  那么,现在操作B,
  B.fieldbyname('Memo').asstring:=Str;//Str长度大于255
   Memo在数据库中的类型是varchar(8000)
  现在的问题是,B.fieldbyname('Memo').asstring获取的值得从255开始截取了,
  不知道怎么办

解决方案 »

  1.   

    用Value试试,100分不少了,兄弟都变贫农了,还是省着点用,呵呵.
    B.fieldbyname('Memo').Value
      

  2.   

    看看数据集的字段Size是不是255限制了
      

  3.   

    刚才调试了下,发现是从中间层传过来的字段的Size 只有256
      

  4.   

    有没有人知道怎么改边字段的datasize
    CDSMx.Fieldbyname('Fprodmemo').datasize  是只读属性,不能更改,有没有其他的方法??
      

  5.   

    CDSMx.Fieldbyname('Fprodmemo').size  修改。 已经被截断了。
      

  6.   


    如果是ADO,到是没什么问题,但现在中间层用的是BDE,好象怎么也不能抄过256
      

  7.   

    有没有人帮我写段动态连接ODBC数据库的代码啊?听说ODBC可以解决这个问题,并且中间层和界面不用怎么改代码。。先谢谢了。。
      

  8.   

     先贴上BDE 连接数据库的代码
    function TDataSnapModuleFXS.CreateBDECons(linkcode:string):TDataBase;
    var
      i:integer;
      tmpBDEConnection,tmpBDEConnection_a: TDatabase;
      tmpBDECons : TBDECons;
    begin
      if ConnecNum = 10000 then ConnecNum :=0;
      ConnecNum := ConnecNum+1;  try
        i := BDEConnectionItems.IndexOf(trim(linkcode));
        if (i > -1 ) and (trim(BDEConnectionItems.Strings[i])=trim(linkcode)) then
          begin
            tmpBDEConnection_a := BDEConnectionItems.Objects[i] as TDataBase;
            try
              //BDE连接
              tmpBDEConnection := TDatabase.Create(self);
              tmpBDEConnection.Name := 'BDE'+trim(FormatDateTime('yyyymmddhhmmsszzz',Now))+trim(inttostr(ConnecNum));
              tmpBDEConnection.DatabaseName := 'BDEDB'+trim(FormatDateTime('yyyymmddhhmmsszzz',Now))+trim(inttostr(ConnecNum));
              tmpBDEConnection.LoginPrompt := False;
              tmpBDEConnection.DriverName :='MSSQL';
              tmpBDEConnection.Params.Clear;
              tmpBDEConnection.Params.AddStrings(tmpBDEConnection_a.Params);
              tmpBDEConnection.Connected := true;
              result := tmpBDEConnection;
              //创建BDE连接对象
              tmpBDECons := TBDECons.Create(self);
              tmpBDECons.Fzhangtaobhan := trim(linkcode);
              tmpBDECons.FBDEcon :=tmpBDEConnection;
            except
              result := nil;
            end;
          end
        else result := nil;
      except
        result := nil;
      end;
    end;没用过ODBC,各位帮帮忙!
      

  9.   


    明白了。这是BDE的问题。把字改成TEXT应该可以。
      

  10.   

      哎,早想改了,老大不让用TEXT啊。。
      

  11.   

    先在开始运行中 ODBCad32.exe ,然后配置好ODBC,与你的数据库做好连接。然后在 TDATABASE 双击里面然选择ODBC设置的用数据源。很简单的。
      

  12.   

      哎,老大让改TExt 了。谢谢各位了。。马上给分。。