问一个关于Paradox表创建索引的问题,高手请进!---在线等回答! ( 积分: 100 )

  • 主题发起人 主题发起人 知秋
  • 开始时间 开始时间

知秋

Unregistered / Unconfirmed
GUEST, unregistred user!
我想动态为一个Paradox的表创建索引,索引由三个字段构成。我在程序中用AddIndex函数作。发现设置为两个字段索引没有问题,当设置三个字段为索引时,函数出现问题。提示为“EBDEngineError:Number is out of range”,是不是Paradox表不支持三个字段联合作为索引的?另外,用SQL创建索引,语句可以执行,但得到Table->IndexFieldCount的属性总是为“0”。源代码如下,请高手指点!多谢!
Table->Active = true;
IndexField1 = Table->Fields->Fields[0]->FieldName;
IndexField2 = Table->Fields->Fields[1]->FieldName;
IndexField3 = Table->Fields->Fields[2]->FieldName;
IndexField = IndexField1 + ";" + IndexField2 + ";" + IndexField3;
Table->Active = false;
if(m_DesTable->IndexFieldCount == 0)
{
// 为目标表创建索引
Table->AddIndex("TableIndex", IndexField, TIndexOptions() << ixPrimary);
}
 
我想动态为一个Paradox的表创建索引,索引由三个字段构成。我在程序中用AddIndex函数作。发现设置为两个字段索引没有问题,当设置三个字段为索引时,函数出现问题。提示为“EBDEngineError:Number is out of range”,是不是Paradox表不支持三个字段联合作为索引的?另外,用SQL创建索引,语句可以执行,但得到Table->IndexFieldCount的属性总是为“0”。源代码如下,请高手指点!多谢!
Table->Active = true;
IndexField1 = Table->Fields->Fields[0]->FieldName;
IndexField2 = Table->Fields->Fields[1]->FieldName;
IndexField3 = Table->Fields->Fields[2]->FieldName;
IndexField = IndexField1 + ";" + IndexField2 + ";" + IndexField3;
Table->Active = false;
if(m_DesTable->IndexFieldCount == 0)
{
// 为目标表创建索引
Table->AddIndex("TableIndex", IndexField, TIndexOptions() << ixPrimary);
}
 
怎么没有人愿意帮忙吗?
 
with IndexDefs do
begin
Clear;
Add('Primary', 'CardIndex', [ixPrimary, ixUnique]);
Add('Test1', 'ReaderGroup;CardNo;RegSeque;OrderStatus', [ixCaseInsensitive]);
Add('Test2', 'CardNo;RegSeque;OrderStatus', [ixCaseInsensitive]);
end;
CreateTable;
我這樣用, 是沒問題的
 
在表已经建好之后创建索引呢?
 

Similar threads

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