为表动态建立索引(index)希高手不吝指教!(100)(100分)

  • 主题发起人 主题发起人 liufang1
  • 开始时间 开始时间
L

liufang1

Unregistered / Unconfirmed
GUEST, unregistred user!
一旦以表table的某个字段建立了索引(index),就可以使用table.IndexName:='myindex';使得table按该字段进行排序浏览.但
一旦修改了table,如insert,delete,edit记录后,再使用table.IndexName:='myindex'进行排序浏览,系统则提示类似"index out of data"错误信息.我考虑动态建立索引,但如何使用代码建立索引呢?
 
var
tt : tTable;
begin
Result := False;
tt := tTable.Create( nil );
try
if TblName = 'chk.db' then
begin
with ttdo
begin
Active := false;
DatabaseName := A_DatabaseName;
TableName := A_TblName;
TableType := ttParadox;
with FieldDefsdo
begin
Clear;
Add( 'Ch_id', ftInteger, 0, False );
Add( 'Jg', ftCurrency, 0, False );
Add( 'Fjcwh', ftString, 5, False );
end;

with IndexDefsdo
begin
Clear;
Add( '', 'Ch_id', [ixPrimary, ixUnique] );
//主KEY,不重复
Add( 'idx_fjcw_ksbh', 'Fjcwh;Ksbh', [ixCaseInsensitive] );
//副索引
end;
CreateTable;
Result := True;
end;
//with
end;
//if
end;

//上面的代码是我从自己的文件里摘出, 先是动态建表,然后添加索引
//运行没问题
//你如果仅仅是要添加索引,把建立表的那几句略去就可以啦 :)
 
本问题由于长久未有回答,为保持版面清洁,将在24小时后强制结束。
分数分配如下:
王寒松- 100.
若任何人对此处理或分配方案有任何意见,请在24小时内到
<a href="DispQ.asp?LID=126377">[非技术问题版] 强制结束问题 及 分数分配申诉</a>.
 
如果是 SQL 服务器,那么直接在 QUERY 的 SQL 里加上相应的 SQL 语句:
CREATE INDEX ....各种DBMS服务器实现大同小异
 
多人接受答案了。
 
后退
顶部