Delphi中AdoTable通过Locate方法快速定位记录
来源:互联网 发布:多迪php培训 编辑:程序博客网 时间:2024/05/18 02:45
Locate可以将当前光标定位在符合条件的记录上,Locate的第一个参数是条件字段,第二个参数是条件
值,第三个参数指出在查找时是否考虑大小写,是否部分匹配。Locate可以设置多个条件,如下所示:
Table1.Locate('company;contact;phone',VarArrayOf(['Sight Diver','P ','408-431-1000']),[loPartialKey]);
又如:
参与第三个参数的介绍:
loCaseInsensitive : 忽略大小写
loPartialKey : 是否采用局部相同的找法。此时, 只要搜寻条件的字串相等於栏位内容的开头文字, 即使长度不等, 仍然可判定为相等.( 就好像 xBASE 的 set exact off 的情形 )
用以下的例子来说明比较容易懂. 假定 Table1 为 :
cu_nocu_nameAMKB王大同 ACJC金士钦 BDFD林火金
若 sTest 为 'AMKB':
Table1.Locate('cu_no', sTest, [])
==> 当然可以找到
若 sTest 为 'AC':
Table1.Locate('cu_no', sTest, [])
==> 找不到
Table1.Locate('cu_no', sTest, [loPartialKey])
==> 找到 'ACJC 金士钦 ' 这笔记录.
因为集合中有 loPartialKey 这个项目, 此时, 'AC' 相同於 'ACJC'
的开头两个字元, 即使两者长度不等, 也算找到.
若 sTest 为 'ac':
Table1.Locate('cu_no', sTest, [loPartialKey])
==> 找不到, 因为区分大小写之故, 所以 'AC' 虽开头相同於 'ACJC',
也不能算作符合条件.
Table1.Locate('cu_no', sTest, [loCaseInsensitive, loPartialKey])
==> 找到 ACJC 金士钦 这笔记录.
此时不再区分大小写了. 可以顺利找到接近的资料.
简言之, Locate() 的第三引数如果是空集合, 那表示找到的资料必须大小写与资料长度均相等, 也就是完全相等的方式搜寻资料 ; 而集合中的元素, 视情况加入 loCaseInsensitive( 不区分大小写 ) . loPartialKey( 局部相等 ) 则提供了搜寻近似资料的弹性作法.
如果条件只有中文字呢? loCaseInsensitive 就没有什麽意义, 加与不加都不影响结果 ; 局部搜寻仍是有效的
- Delphi中AdoTable通过Locate方法快速定位记录
- delphi中locate方法
- 使用Locate方法定位记录
- delphi中locate查找方法
- delphi中locate查找方法
- delphi中locate查找方法
- AdoTable
- ADOTable中Filter的用法
- adotable中Filter的用法
- delphi中在使用locate方法时显示“operation not applicable”错误
- delphi 中locate函数的使用方法
- delphi 中locate函数的使用方法
- 在ADOTAble中进行查询,删除操作
- ADOTAble中进行查询删除操作
- 在RELEASE版本中快速定位DATA ABORT的方法
- 在RELEASE版本中快速定位DATA ABORT的方法
- 在Excel表格中快速定位的方法
- 在Excel表格中快速定位的方法
- 实战 Jetty
- Default SQL Server instance for the local Development Storage
- 事件标记关联优化模型实现
- 各种浏览器css hack
- 事件标记关联优化模型实现
- Delphi中AdoTable通过Locate方法快速定位记录
- pku 1152 An Easy Problem!
- 尽人事,听天命
- 学习日志—类型和声明—advice
- 关于23种设计模式的有趣见解
- pku 1163
- C语言基础
- C#中使用JMail方法及出现报错
- sql server 查询语句积累