Delphi中代码:Locate()问题
Locate('用户名',Trim(UserName.Text),[lopartialkey])中的lopartialkey要先定义吗?还有,可以顺便说下Locat()里...
Locate('用户名',Trim(UserName.Text ),[lopartialkey])中的lopartialkey要先定义吗?还有,可以顺便说下Locat()里面的参数的用法,相信点哦,在此谢谢了!
展开
1个回答
推荐于2018-05-07
展开全部
我猜你估计是用的TADOQuery或者是TADODataSet的Locate方法,这个方法是有TDataSet集成而来的,所以如果你要使用lopartialkey,必须在uses中引用DB这个单元。
给一个例子:
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);
这个是可以通过多字段查询的。字段名称用分号隔开,字段的值是通过VarArrayOf函数提供。
TLocateOptions 是一个集合,定义域集合中有两个元素:loCaseInsensitive 表示不区分大小写;
loPartialKey 表示可以匹配部分名字,比如,添加了这个选项后, 'HAM'可以同时匹配 'HAMM'和'HAMMER.
所以对于用户名的查询不用应该写为:Locate('用户名',Trim(UserName.Text ),[])
如果查找成功,返回True,并设置游标到当前查询的位置,这时候可以直接用FieldByNames方法差些数据的值;如果查找失败返回False。
给一个例子:
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);
这个是可以通过多字段查询的。字段名称用分号隔开,字段的值是通过VarArrayOf函数提供。
TLocateOptions 是一个集合,定义域集合中有两个元素:loCaseInsensitive 表示不区分大小写;
loPartialKey 表示可以匹配部分名字,比如,添加了这个选项后, 'HAM'可以同时匹配 'HAMM'和'HAMMER.
所以对于用户名的查询不用应该写为:Locate('用户名',Trim(UserName.Text ),[])
如果查找成功,返回True,并设置游标到当前查询的位置,这时候可以直接用FieldByNames方法差些数据的值;如果查找失败返回False。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询