delphi中有个locate函数,有个疑惑,不清楚他是全字匹配还是像数据库中的like
下面的范例程序代码即是以一个字段来查寻数据,它是以数据表的NAME字段来查寻拥有“李维”数值的这笔数据,由于最后一个参数是空集合,因此,这代表NAME字段必须拥有一模一样...
下面的范例程序代码即是以一个字段来查寻数据,它是以数据表的NAME字段来查寻拥有“李维”数值的这笔数据,由于最后一个参数是空集合,因此,这代表NAME字段必须拥有一模一样的“李维”这个数值才算查寻成功。
SQLClientDataSet.Locate('NAME', '李维' , []);
我知道像这样写是满足条件的-- locate('You','You',[]);
但是我不知道这样是不是满足条件-- locate('ForYouTou','You',[]);这个满足条件吗 展开
SQLClientDataSet.Locate('NAME', '李维' , []);
我知道像这样写是满足条件的-- locate('You','You',[]);
但是我不知道这样是不是满足条件-- locate('ForYouTou','You',[]);这个满足条件吗 展开
3个回答
2017-10-25 · 知道合伙人软件行家
关注
展开全部
Locate 的函数的原型定义如下:
function Locate(const KeyFields: String; const KeyValues:Variant;Options: TLocateOptions): Boolean;
其中,第3个参数定义如下:
TLocateOption = (loCaseInsensitive, loPartialKey);
loCaseInsensitive 表示查找数据不分大小写;loPartialKey 表示以部分字符串来查寻数据。
缺省情况下,即第3个参数为 [] 时,此时要求查找要与目标字符完全匹配。
因此,假设 Name 字段中有 ForYouTou 的记录时:
locate('Name','You',[]) 是查找不到该条记录的。
可以尝试使用以下代码:
tbl1.Locate('Name','*You',[loCaseInsensitive, loPartialKey]);
展开全部
loPartialKey 只能从头部匹配
关键字 哈啦
只能 查 哈啦开头的 值
而无法查到 哇哈拉
关键字 哈啦
只能 查 哈啦开头的 值
而无法查到 哇哈拉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试就知道,不满足。
追问
我这没环境 不好试的 那上面的locate函数转为sql语句是:where name=“李维” 而不是 where name like'%李维%'。
追答
Locate 不是 Like ,而是匹配定位。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询