读书人

关于 ClientDataSet.Apppend 的使用,该

发布时间: 2012-02-07 17:45:36 作者: rapoo

关于 ClientDataSet.Apppend 的使用
我使用 ClientDataSet.FieldDefs 来给 clientdataset 添加字段

cds.Close;
cds.FieldDefs.Clear;

cds.FieldDefs.Add( 'nID ',ftInteger);
cds.FieldDefs.Add( 'Name ',ftString,20);

cds.CreateDataSet;

然后我再使用
var
dt:OleVariant;
begin
dt := SeaDBUnits.GetCdsData(self.ADOConnection1,
'select top 10 nID as nID,Clienter as Name from GoldMngDetail ');
cds.AppendData(dt,true);

说明:getcdsdata 是一个取得 data 的过程

这个时候,发生错误:
Trying to Append a Data to non-partial Dataset

不太理解这个错误,两个 data 的结构不是一样的吗?

[解决办法]
看看你查出来的数据的字段类型,应该是有区别,不一定是ftInteger类型,也有可能是ftBCD的
[解决办法]
对,应该是数据类型问题.你可以显式转换一下,然后再AppendData
[解决办法]
This is usually caused by a call to AppendData when the TClientDataSet thinks it has all the data.

读书人网 >.NET

热点推荐