Delphi TQuery 的Locate用法小探(续)

                                                                               [ By  浪子(dayichen@163.com)  At:2005.01.07 ]

 
  874一下CSDN的Blog服务器,老是出错。写了半天的文章忘了Copy,结果Post->Error->Over了。气死我了。差点把阿姨那香气喷喷的鱼丸全部吐掉。午休时间没了,心情也没了。我就化繁为简,大概说下多栏查询的一些需要注意的地方。

with CustTable do
  Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);

  1、使用“;”来分割多个字段名称,用VarArrayOf()来传递多个定位值。
  2、字段一定要和数据库完全一样,即使你用习惯了的空格也不行。虽然使得程序看起来跟清楚点,但是Locate不会自己做Trim,所以它把空格也当成字段名称的一部分。
  3、因为定位值采用Variants,所以定位就不知局限于字符串了。
  4、对于多栏查询的结果,一定要所有栏位全部符和才可以,只要有一栏不符合,就会返回False。
  5.  最好不用对空值进行定位,会进行从头到尾的遍历,影响速度.

 Ok,关于Locate的用法就说到这里,写个小例子当作总结。

 var
  LocateSuccess: Boolean;
  SearchOptions: TLocateOptions;
  StrField,StrLocate:String;//字段名称,定位值
begin
  SearchOptions := [loCasesensitive,loPartialKey];
  LocateSuccess := CustTable.Locate(StrField,StrLocate, SearchOptions);
end;


                                                                                         
作者Blog:http://blog.csdn.net/walkingboy/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值