使用ADO等数据控件的时候,经常会用到 locate 函数在结果数据集中查询和定位,下面介绍一下:

(一)

function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions): Boolean;

Locate 方法的3个参数:

1、KeyFields 字段名称。单一字段,直接传入字段名称。多个字段条件查寻,字段名称以分号分隔每一个字段名称,例如:‘A1;A2;A3’
2、KeyValues  条件数值。类型 Variant,几乎可以代表任何的类型,可查整数、小数、字符串,或是布尔值的条件。同样,查寻一个条件数值,直接在参数位置传入。如果是以多个字段条件来查寻,

  那么开发人员必须建立一个Variant数组,然后在这个数组中的每一个元素中指定条件数值,再传递Variant数组到这个参数中。至于Variant数组则可以使用VarArrayOf方法,或是使用VarArrayCreate方法来建立

  例如:VarArrayOf( [ Name1,Name2 ] )

3、TLocateOptions 查询选项标准。例如:不分大小写查寻字符串数据,或以部分字符串数值来查寻数据(模糊查询)。

  两个参数类型:loCaseInsensitive, loPartialKey

  loCaseInsensitive  不区分大小写查寻数据; 

  loPartialKey  以部分字符串查寻数据(模糊查询)。

单独使用:

  [ loCaseInsensitive ]  不区分大小写,精确匹配数据

  [ loPartialKey ]  区分大小写,模糊查询数据

一起使用:

   [ loCaseInsensitive ,loPartialKey ]  不区分大小写,模糊查询数据

例如:

Name1:= ADOQuery1.FieldbyName('A1').AsString;     

Name2:= ADOQuery1.FieldbyName('A2').AsString;         

ADOQuery1.Locate('A1;A2', VarArrayOf([Name1,Name2]), [loCaseInsensitive]);          //多个数据一起查询,不区分大小写 精确匹配  

(二)

 Locate 方法的回传数值是布尔值,表示是否成功找到了要查寻的数据。找到,就回传True,否则就回传False。

 当成功地查寻到数据之后,它就会移动目前的记录位置到这个数据上,否则就会停留在Locate开始查寻之前的记录位置上。

 注意:查寻数据的结果是一条数据,如果想查寻符合条件的一群数据,需使用 过滤器(Filter)功能。

内容更新日期:2019.07.08

Delphi locate函数的更多相关文章

  1. delphi locate函数的使用

    loc1:= qry1.FieldbyName('SPBM').AsString;      //商品编码 loc2:= qry1.FieldbyName('XH').AsString;       ...

  2. delphi公共函数 UMyPubFuncFroc--版权所有 (C) 2008 勇者工作室

    {*******************************************************} { } { Delphi公用函数单元 } { } { 版权所有 (C) 2008 勇 ...

  3. (转载)delphi 常用函数(数学)

    delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里的函数,使用前要先 Uses Math.trunc 和 round 是 system ...

  4. Delphi回调函数及其使用

    Delphi回调函数及其使用 1 回调函数的概述 回调函数是这样一种机制:调用者在初始化一个对象(这里的对象是泛指,包括OOP中的对象.全局函数等)时,将一些参数传递给对象,同时将一个调用者可以访问的 ...

  5. Delphi过程函数传递参数的八种方式

    今天一同事问我为什么有些过程函数里面有Var而有些没有,不解,遂到网上百度,得解.快哉,快哉. 在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out.另一种不加修饰符的为默认按值传 ...

  6. delphi字符串函数大全

    转帖:delphi字符串函数大全 2009-11-17 16:43:55 分类: delphi字符串函数大全 ━━━━━━━━━━━━━━━━━━━━━首部 function StringToGUID ...

  7. Delphi 常用函数(数学函数)round、trunc、ceil和floor

    源:Delphi 常用函数(数学函数)round.trunc.ceil和floor Delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里 ...

  8. delphi公用函数

    {*******************************************************} { } { Delphi公用函数单元 } { } { 版权所有 (C) 2008 } ...

  9. MD5 与 SHA 在 Delphi 中函数实现,加密密码

    MD5 与 SHA 在 Delphi 中函数实现. 为了加密密码,必须使用一种算法,查询资料,比较好的方法是使用:MD5等算法,参考:Delphi XE8 支持MD5 第一种方式是:引用 System ...

随机推荐

  1. ZOJ3531: [SDOI2014] 旅行

    Description S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神教.隐形独角兽教.绝地教都是常见的信仰. ...

  2. 在三台服务器,搭建redis三主三从集群

    一.资源准备 1.准备三台服务器H1.H2.H3 172.26.237.83 H1 172.26.237.84 H2 172.26.237.85 H3 二.配置服务器 1.在H1服务器设置SSH免密登 ...

  3. 设置overflow:auto无效的解决办法

    做项目中经常要用到滚动条,有时候给div设置overflow无效. 遇到这样的问题,只需要在 F12 Elements面板检查一下要设置overflow的元素的宽高是否大于父级元素宽高. (overf ...

  4. Java异常架构与异常关键字

    Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性.在有效使用异常的情况 ...

  5. 关于计算机学习的书(doc,mobi,epub,pdf四种格式)

    关于计算机学习的书(doc,mobi,epub,pdf四种格式) <html> <body> <div> 21天学通C+ +2016/6/22 18:47文條 30 ...

  6. C/C++ volatile

    { volatile和const关键很相似,都是修饰变量的,只是二者功能不一样. volatile在多线程当中经常使用,因为在某一线程多次调用某一个变量,编译器会进行优化,将该变量存放在在寄存器当中, ...

  7. bootstrapTable 分页插件

    前端: @{ ViewBag.Title = "BootstrapTable 入门"; Layout = null; } <!-- 引入bootstrap样式 --> ...

  8. java——String类,时间类,格式化

    日期类 格式化

  9. flutter 使用keyboard_actions 关闭ios键盘

    项目中登录 输入账号密码 弹出的键盘 关闭不了,从而 引来一些问题, 1,第一次关闭 项目是在 最外层包裹一层,点击的时候进行关闭, return Scaffold( resizeToAvoidBot ...

  10. VMware Network Adapter VMnet1/8详解

    转自:https://www.cnblogs.com/systemnet123/articles/2640883.html VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网 ...