findkey问题(50分)

  • 主题发起人 主题发起人 nnhww
  • 开始时间 开始时间
N

nnhww

Unregistered / Unconfirmed
GUEST, unregistred user!
table1.findkey(['1001-1']);
table2.findkey(['1003-1']);
出错!
Cannot use array of Field Values with Expression Indices
为什么?
 
把括号去掉怎么样
 
Not enough actual parameters
 
使用FindKey方法搜索和定位记录一般为以下几个步骤:
1、设置IndexName属性指定要使用的索引,而对SQL数据库来讲需要设置
IndexFieldNames属性。当然,如果你使用表本身的主索引,可以不设置这个属性。
2、打开表。
3、Table1.Findkey(['1001-1'])。
 
两句放一起时会出错。
第一个表可以查找,第二个表查找时出错。
两个表都已设了索引。
 
这样写看看
Table1.IndexFieldNames:='索引1';
table1.findkey(['1001-1']);

Table1.IndexFieldNames:='索引2';
table2.findkey(['1003-1']);

更好的方法是不用索引的
Table1.Locate('字段1','1001-1',[]);

Table2.Locate('字段2','1003-1',[]);
 
Locate确实不错,其中的KeyValues是一个Variant类型的参数,如果你的KeyFields
参数指定了多个字段,它必须是一个可变类型的数组.
 
多人接受答案了。
 
findkey字段必须是索引
 

Similar threads

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