Delphi的BUG,Filter的问题,高手请进 TClientDataSet.Filter里的值是:姓名='张三'好像不能过滤,找不到这条记录,如果:姓名='ABC'倒是可以,请高手指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不如试试 like ‘张三’?不过我用时觉得挺好用。 TClientDataSet.Filtered=True;加上这句就可以了 TClientDataSet.Filtered=True;必须加上这句 使用 Like 出现类型不匹配的错误 我试了,能正常过滤,查看其他问题,如字段值或Filter'张三'前有无空格 不如在程序里赋值tClientDataSet1.filtered:=false;tClientDataSet1.filter:='姓名=''张三''';tClientDataSet1.filtered:=true; BUG,BUG,BUG没用,没用..................中文啊............ 是否是汉字内码的问题,关闭Office XP 的高级文字服务试试。 今天有发现用Locate('姓名','张三',[])也定位不到,昏ing...我用的是Dephi6,哪位没有这个问题的用的是几请告知,(要么7)小弟不胜感谢! 请大家注意,是TClientDataSet而不是TTable或TQuery或TADODataSet等 在被过虑的字符串前加个QuotedStr函数试试! 如果是下面:有一个设计时定义好的ClientDataSet组件cds_User,里面有字段"姓名,性别,年龄",如果我这样:cds_User.CreateDataSet;cds_User.LoadFromFile('文件'); //这里的文件是用cds_User.SaveToFile('文件');cds_User.Locate('姓名','张三',[]); ///这样就OKcds_User.Filter:=Format('%s=''%s''',['姓名','张三']);cds_User.Filtered:=True; //这样也OK//也就是说如果不使用DataSetProvider取得数据,数据搜索是没有问题的//如果使用了DataSetProvider+ADODataSet的话,就出问题,但设置ADODataSet.Filter倒是可以搜索和过滤,不过前提是设置后cds_User必须Open或Refresh一下,效率不高,频繁使用到的话就不行了...还希望各位高手救命!!!!!小弟再次谢了!!!!! 有没有读所有类别硬盘号的函数 寻找“Delphi7.0入门到精通”下半部分 不需要bde的本地数据库是什么 我是菜鸟,谁能告诉我Ado控件的使用方法???? 学DELPHI前的问题 取得网卡物理地址的疑问(MAC_ADDR) 关于Free的问题 sql语句使用inner join 连接两个表,如果两个表中的一个或多个字段名相同,要分别取它们的值该如何表示? 这两个函数 SetForeGroundWindow, GetForeGroundWindow ;具体怎么用 用ado连接excel,能读取数据,不知能否利用读取得数据直接生成报表? 有个HOOK问题 怎么播放声音文件??
不过我用时觉得挺好用。
查看其他问题,如字段值或Filter'张三'前有无空格
tClientDataSet1.filter:='姓名=''张三''';
tClientDataSet1.filtered:=true;
我用的是Dephi6,
哪位没有这个问题的用的是几请告知,(要么7)
小弟不胜感谢!
有一个设计时定义好的ClientDataSet组件cds_User,里面有字段"姓名,性别,年龄",
如果我这样:
cds_User.CreateDataSet;
cds_User.LoadFromFile('文件'); //这里的文件是用cds_User.SaveToFile('文件');
cds_User.Locate('姓名','张三',[]); ///这样就OK
cds_User.Filter:=Format('%s=''%s''',['姓名','张三']);
cds_User.Filtered:=True; //这样也OK
//也就是说如果不使用DataSetProvider取得数据,数据搜索是没有问题的
//如果使用了DataSetProvider+ADODataSet的话,就出问题,但设置ADODataSet.Filter倒是可以搜索和过滤,不过前提是设置后cds_User必须Open或Refresh一下,效率不高,频繁使用到的话就不行了...还希望各位高手救命!!!!!
小弟再次谢了!!!!!