烂DELPHI6,竟然LOCATE编译不过。(50分)

  • 主题发起人 主题发起人 wmsoft
  • 开始时间 开始时间
W

wmsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
将下面程序编译一下,看看会不会出错。
with table1 do
begin
if locate('no;mc',VarArrayOf([edit1.text,edit2.text]),[]) then
begin
end;
end;
 
try it------

with table1 do
begin
if locate('no;mc',VarArrayOf(['123', 'abc']),[]) then
begin
end;
end;
 
不要说D6,就是在D5里,也应该尽量避免使用LOCATE函数。
此函数在数据量大时执行效率差。完全可以用QUERY来取代
IF NOT QUERY1.ISNULL THEN
BEGIN
END ELSE
 
locate还是可以的,挺好用,不要索引
你说的那个问题,不知道怎么搞得
没有碰到过
是不是类型不对?
 
感谢各位。TWOS说得对,我就是一个很小的数据库,不用担心效率的问题,
才用LOCATE的,在D4中好好的,d6就不行了。我查看了DELPHI的例程,
只有LOCATE一个字段的,我想应该是D6的BUG吧。要不是用D版,我就要投诉退货了。
买了D7再看会不会。
还有另一个地方,也是编译不过。但不写出来了。
 
类型的话,两个都是字符型字段,应该没什么问题吧?
 
不会的
你在uses 加上db 没有(可能是其它单元,不记得了)
 
什么错误呆
 
add Variants la~~~~~~~~~~~~~~
 
D4中用DAO, 是支持超过一个字段的locate
而D6中改用了ADO, 只支持一个字段的locate
详细可参考MSDN 中的 ADO手册
 
烂就不要用,在这发什么标?
 
在uses处添加Variants单元,Delphi6中的Variant相关的东西已都单独放到了该单元中,
所以所有用到Variant类型的单元文件都要引用Variants单元。
 
uses处添加Variants单元,
 
编译是的错误提示事什么?
 
多人接受答案了。
 

Similar threads

后退
顶部