关于数据库查询locate()中的一些问题!!(80分)

  • 主题发起人 qingfeng47
  • 开始时间
Q

qingfeng47

Unregistered / Unconfirmed
GUEST, unregistred user!
代码:if main.Form2.Table1.Locate('name',VarArrayOf([edit1.text]),[loCaseInsensitive]) then
information.Form3.Show
else
showmessage('无此人!');
我用以上代码编译时是通过了,但是一运行就出现错误!提示如下:

"Project name.exe raised exeception class EVarianterror with message 'Invalid variant type conversion'.Process stopped.Use step or Run to continue."

我觉的应该是VarArrayOf()用错了!!但应该怎么用呢??请个高手想想!!!!

 
Locate('Company,Contact;Phone',VarArrayOf(['Sight Diver','P']),loPartialKey);
 
使用VarArrayOf()是多余的
直接使用['字符串参数1',参数2,...]
需要注意,这些参数必须定义索引
 
若只在一个字段上查找://字符型或其他简单数据类型会自动转换成Variant型
locate('name',edit1.text,[loCaseInsensitive])//无须用VarArrayOf

若在多个字段上查找://必须用VarArrayOf 将多个值转换成Variant型
locate('name;city;phone',VarArrayOf([edit1.text,'北京','010-22222222']),[loCaseInsensitive])
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
599
import
I
顶部