从服务器返回一个Variant类型,然后使用TClientDataSet来解析,出现错误
var
cds:TclientDataSet;
begin
cds:=TClientDataSet.Create(nil);
//通过服务器取得查询结果集(使用Corba技术),定义为Variant类型VarResult
cds.Data:=VarResult;
cds.Filtered:=true;
cds.Filter:='ParentID=-1';
end;
当执行到最后一句时报错。暴力访问的错误。
但是如果TclientDataSet拖到窗体上并设置Filter和Filtered属性就能正确得出结果,为何把它放到程序中就不行呢?
var
cds:TclientDataSet;
begin
cds:=TClientDataSet.Create(nil);
//通过服务器取得查询结果集(使用Corba技术),定义为Variant类型VarResult
cds.Data:=VarResult;
cds.Filtered:=true;
cds.Filter:='ParentID=-1';
end;
当执行到最后一句时报错。暴力访问的错误。
但是如果TclientDataSet拖到窗体上并设置Filter和Filtered属性就能正确得出结果,为何把它放到程序中就不行呢?
cds.Filtered:=false;
cds.Filter:='ParentID=-1';
cds.Filtered:=true;
cds.Filter:='ParentID=-1';
cds.Filtered:=true;
这样应该没有什么问题的。
中创建TclientDataSet时,执行到Filter='ParentID=-1'时报出Invalid floating Point Operation的错误。
var
cds:TclientDataSet;
begin
cds:=TClientDataSet.Create(nil);
//通过服务器取得查询结果集(使用Corba技术),定义为Variant类型VarResult
cds.Data:=ClientDataSet1.Data;
DataSource1.DataSet:=cds;
cds.Filtered:=false;
cds.Filter:='PlanNum=3';
cds.Filtered:=true;
end;ParentID是什么数据类型的?
Filter='ParentID=-1'中间的ParentID可能会有问题的,是不是数字形的字段,有待察看。