[ 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。
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/