关于 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.