TClientDataSet的Filter问题

djwdjw 2003-11-27 10:25:44
从服务器返回一个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属性就能正确得出结果,为何把它放到程序中就不行呢?

...全文
176 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
djwdjw 2003-11-27
  • 打赏
  • 举报
回复
救我,为什么仅ParentID小于0时自己创建TclientDataSet对象就不行(ParentID>0时可以正确运行),但是拖TclientDataSet到窗体上无论大于0还是小于就行呢?这问题太怪了。我无法解决。
djwdjw 2003-11-27
  • 打赏
  • 举报
回复
而且有一点我非常的不明白,如果过滤条件为ParentID=0即取ParentID>0怎样的条件话,就没有任何问题,为什么小于0的值就不行?是数据库的问题,还是TclientDataSet有Bug?
djwdjw 2003-11-27
  • 打赏
  • 举报
回复
to xxmmmx(踢踏) :ParentID是Oracle数据库中定义的Number类型。

to Erice(白雪公猪) :cds的数据是从服务器(中间层使用Corba技术)返回的variant类型,因此不需要设置providername和remoserver;
LookFuture 2003-11-27
  • 打赏
  • 举报
回复
同意楼上的意见
Filter='ParentID=-1'中间的ParentID可能会有问题的,是不是数字形的字段,有待察看。
踢踏 2003-11-27
  • 打赏
  • 举报
回复
这个倒可以不用设置
Erice 2003-11-27
  • 打赏
  • 举报
回复
你的cds没有设置:remoserver和providername没有设置
踢踏 2003-11-27
  • 打赏
  • 举报
回复
我用以下的代码试过了,没有问题的
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是什么数据类型的?
djwdjw 2003-11-27
  • 打赏
  • 举报
回复
在窗体里加TclientDataSet,TdataSource,TDBGrid,并设置他们之间的关联和Filter,Filtered,在dbgrid完全看得到预期的结果,但是删除TclientDataSet控件,在程序
中创建TclientDataSet时,执行到Filter='ParentID=-1'时报出Invalid floating Point Operation的错误。
踢踏 2003-11-27
  • 打赏
  • 举报
回复
cds.Filtered:=false;
cds.Filter:='ParentID=-1';
cds.Filtered:=true;
这样应该没有什么问题的。
djwdjw 2003-11-27
  • 打赏
  • 举报
回复
楼上的朋友,还是不行,再帮我看看。
LookFuture 2003-11-27
  • 打赏
  • 举报
回复
你象下面这样执行一下,呵呵,没问题的
cds.Filtered:=false;
cds.Filter:='ParentID=-1';
cds.Filtered:=true;
LookFuture 2003-11-27
  • 打赏
  • 举报
回复
跟Borland的老板商量下也好啊,靠!怎么开发软件的!!!!
djwsunjava 2003-11-27
  • 打赏
  • 举报
回复
这可能是TclientDAtaSet的Bug
djwdjw 2003-11-27
  • 打赏
  • 举报
回复
up
djwdjw 2003-11-27
  • 打赏
  • 举报
回复
帮忙。
djwsunjava 2003-11-27
  • 打赏
  • 举报
回复
up

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧