起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 358|回复: 9

【结】locate之模糊查询问题**

[复制链接]
发表于 2008-12-29 09:07:08 | 显示全部楼层 |阅读模式
locate方法options参数中的loPartialKey设置是否模糊查询定位,
但好像在平台中该参数不起作用,不能模糊查询,
不知何故?
回复

使用道具 举报

发表于 2008-12-29 09:23:03 | 显示全部楼层
楼主,请问你是怎么做的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-29 09:38:42 | 显示全部楼层
DataSet.Locate('field','text',[TLocateOption.loCaseInsensitive,TLocateOption.loPartialKey]);
//注:field-字段名称,text-查询内容

比如有笔数据为“项目一”,我用“项目”无法定位,必须要全称“项目一”
回复 支持 反对

使用道具 举报

发表于 2008-12-29 09:49:13 | 显示全部楼层
DataSet.First;
DataSet.Locate('field',['text'],[TLocateOption.loCaseInsensitive,TLocateOption.loPartialKey]);

楼主,试试这样可以不。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-29 09:58:53 | 显示全部楼层
恩,可以了!谢谢。
还有个问题想请教:如果数据定位出有多条,一般默认都是定位到第一条数据上,
那如果我想定位到下一条,该怎么做呢?
回复 支持 反对

使用道具 举报

发表于 2008-12-29 10:41:11 | 显示全部楼层
继续执行locate吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-29 11:29:26 | 显示全部楼层
又有新问题:
用楼4所说的方法实现模糊查询定位,发现只能查询开头文字。
如:“行业综合部”,输入“行业”可以定位找到,但“综合部”就不行了。
回复 支持 反对

使用道具 举报

发表于 2008-12-29 16:00:42 | 显示全部楼层
楼主,locate不能实现你的需求,你可以使用SqlFilter来定义过滤条件:like '%abc%'
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-30 09:41:45 | 显示全部楼层
呵呵,数据过滤和数据定位是两个概念啊!
还是谢谢了,我已经另想办法解决了!
回复 支持 反对

使用道具 举报

发表于 2008-12-30 11:15:00 | 显示全部楼层
楼主,共享一下方法吧,谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 20:37 , Processed in 0.041144 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表