dBase的复合索引

  • 主题发起人 主题发起人 import
  • 开始时间 开始时间
I

import

Unregistered / Unconfirmed
GUEST, unregistred user!
复合索引必须是表达式,例如: MyTable.AddIndex('MyTagName', 'FIELD1NAME+FIELD2NAME', [ixExpression]);
his is required on compound indices. You can even use other expressions, such as UPPER(FIELD1+FIELD2). Note that [ixExpression] is required, but NOT documented in any help file I can find, and [ixCaseInsensitive] plain doesn't work for dBase files.
Note further that such expression indices rule out using SetRange, and perhaps other methods. However, I've heard that using the "long winded" version of SetRange will work.
e.g.
with table1 do
begin
SetRangeStart;
FieldsByName('FIELD1').AsString := 'myString';
FieldsByName('FIELD2').AsString := ' 1';
SetRangeEnd;
FieldsByName('FIELD1').AsString := 'myString';
FieldsByName('FIELD2').AsString := '999';
ApplyRange;
end;
 
后退
顶部