用Delphi程序维护Paradox数据表的索引

用Delphi程序维护Paradox数据表的索引,第1张

用Delphi程序维护Paradox数据表的索引,第2张

在数据库编程中,索引文件在提高数据查询速度方面起着重要的作用。不可否认,充分利用索引文件可以极大地提高数据库应用程序的性能。
在应用过程中,用户的查询条件可能是多种多样的。如果能够根据用户的查询建立和选择索引,无疑有助于保证应用程序的性能。

此外,由于停电等意外事故,很容易导致数据库中的索引文件得不到及时更新,甚至损坏。这时候如果应用程序多给出几条错误信息,无疑会让用户的情况更糟。

因此,数据库索引文件的动态维护将使您的数据库应用程序更加稳定可靠。笔者将以Delphi编程中常用的Paradox数据库为例,介绍数据库索引文件的动态维护。

Paradox数据表索引分为一级索引(主键索引)和二级索引(二级索引),其中一级索引对应。PX文件和二级索引对应。XG*和。YG*文件。

I .创建表索引

(1)使用表。添加索引以实现

方法:Addindex(索引名称、字段名称、选项)

其中:(详见Delphi帮助)

Index:索引的名称,仅在指定辅助索引时有效。

FieldNames:索引字段,可以指定多个字段,用分号隔开,比如field 1;Field2字段3

选项:索引选项,可以是[ixprimary,ixunique,ixdescending,ixcaseinsensitive,ixexpression]。

其中包括:

IxPrimary:建立的引用为主引用(不适用于dBase数据表)。
ixUnique:不允许具有重复值的引用。
ixDescending:按降序引用。
ixcasensitive:引号按升序或降序排序(不适用于dBase数据表)。
ixExpression:建立达表报价(适用于Delphi3.0,仅适用于dBase数据表)。
ixNonMaintained:是否不需要BDE自动维护(适用于Delphi1.0)。


下面是一个例子:

假设有一个数据表MyComm。DB (type Paradox)用于存储本地目录d:\mynote中存储的地址簿。现在建立一级索引(索引域为编号ID)和二级索引(索引域为编号ID和名称名称名称,索引名称为名称索引)。

与table1一起
开始
关闭;
DatabaseName:= d:\ my note;
TableName := MyComm。DB;
打开;
{建立主索引}
addindex(,id,[IX primary]);
{建立辅助索引}
AddIndex(NameIndex,ID;姓名,[]);
关闭;
end;


(2)用SQL实现

对于Paradox数据表,只能用SQL建立二级索引。

在SQL语法中,用于构建索引的语句是:

对TableName
(IndexField1,IndexField2,..)


其中:

Index是辅助索引的名称,如MySecIndex1。

Table是相应数据表的名称,例如MyTable。

表后面是索引字段列表,所有这些字段都用括号括起来。

索引字段用逗号分隔。

下面是一个例子:

假设有一个数据表MyComm。DB (type Paradox)存储在本地目录地址簿中。

D: \在d:\mynote下,现在建立了一个二级索引(索引域为number ID和Name name,索引名为NameIndex)。

with query 1 do
begin
close;
DatabaseName:= d:\ my note;
{建立二级索引名称索引}
SQL . clear;
sql.add(在MyComm(ID,Name)上创建索引NameIndex
exec SQL;
end;

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用Delphi程序维护Paradox数据表的索引

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情