请问locate及lookup的用法(50分)

  • 主题发起人 主题发起人 felong11
  • 开始时间 开始时间
F

felong11

Unregistered / Unconfirmed
GUEST, unregistred user!
请问locate及lookup的用法
我在使用他的时候如
table1.Locate('category',VarArrayOf([edit1.text]),[locaseinsensitive,lopartialkey]);
在我在edit中按键时候,他说我的 invalid variant type conversion
而我在编写dcom数据库的时候用了
datamodule2.ClientDataSet1.Locate('NAME',VarArrayOf([edit1.text]),[loCaseInsensitive,loPartialKey]);
他竟然连编译都不能通过。
他说是语法错误!!??
他说不认识loCaseInsensitive,loPartialKey!!??
为什么??
先谢过了。
 
>>table1.Locate('category',VarArrayOf([edit1.text]),[locaseinsensitive,lopartialkey]);
table1.Locate('category',[edit1.text],[locaseinsensitive,lopartialkey]);

注意在uses语句中加上含loCaseInsensitive,loPartialKey的单元
 
我已经加了。
 
只有一个字段的时候要这样用:
var
Address: string;
begin
if tLibrary.Locate('Address', Address, [loCaseInsensitive]) then exit;
....
end;
 
我也碰过类似问题,为什么我也不知道,我只知道不是"locaseinsensitive,lopartialkey"的问题,因为我不论是自己写,还是复制帮助的都不能通过.后来又可以编译.
 
请检查一下,
在USES中,是否加入了
dbtables 这个unit,
否则编译不通过的。
 
只有一个字段的时候,不要用VarArrayOf()这个函数.
 
那么我应该怎么用这个函数呢??
 
在USES中,加入dbtables 这个unit
 
ADOTable1.Locate('软件名称;路径',VarArrayOf([name,path]),[loCaseInsensitive]);
绝对没问题的!
 
同意drmy,只有一个字段时,第二个参数应是一个字符串,所以不要用VarArrayOf():
table1.Locate('category',edit1.text,[locaseinsensitive,lopartialkey]);
就行了.
 
Table.Locate('rt_id;rpc_id;rp_id',VarArrayOf([int_RT,int_RPC,int_RP]),
[loCaseInsensitive])
Table.lookup('EmpNo;LastName',VarArrayOf([editNo.Text,EditName.text],'LastName;FistName;Salary'));
根据两个字段的查找返回多个字段值
 
不认识loCaseInsensitive,loPartialKey的问题,我也遇到过,只要
把DB移到后面就可以了。可能是因为在uses DB中loCaseInsensitive,loPartialKey
的定义被其他单元文件屏蔽了,
 
多人接受答案了。
 
后退
顶部