zoukankan      html  css  js  c++  java
  • Delphi locate函数

    使用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

  • 相关阅读:
    获取URL的name值 getUrl(url,name) 传入url和key 得到key对应的value
    封装GetQueryString()方法来获取URL的value值
    判断设备
    RecyclerView 加点击事件
    SparseArray,SparseBooleanArray和SparseIntArray
    内存泄漏监测-LeakCanary
    StrictMode
    数据结构-线性结构
    程序设计语言基础-知识点
    数据结构-概念
  • 原文地址:https://www.cnblogs.com/guorongtao/p/11152323.html
Copyright © 2011-2022 走看看