关于排序的问题(50分)

  • 主题发起人 主题发起人 xulu
  • 开始时间 开始时间
X

xulu

Unregistered / Unconfirmed
GUEST, unregistred user!
用CreateTable建立一个表,建立一个索引,如何可使表中数据按降序排列,在目前情况下是升序排列.在option中加入ixDescending也不行.程序如下:
with Table1do
begin
{ The Table component must not be active }
Active := False;
{ First, describe the type of table and give }
{ it a name }
DatabaseName := 'c:/tzh/project';
TableType := ttParadox;
TableName := newproject.edit1.text;
{ Next, describe the fields in the table }
with FieldDefsdo
begin
Clear;
with AddFieldDefdo
begin
Name := '类别';
DataType := ftString;
Size := 20;
end;
with AddFieldDefdo
begin
Name := '名称';
DataType := ftString;
Size := 50;
end;
with AddFieldDefdo
begin
Name := '型号';
DataType := ftString;
Size := 30;
end;
with AddFieldDefdo
begin
Name := '单位';
DataType := ftString;
Size := 8;
end;

end;
{ Next, describe any indexes }
with IndexDefsdo
begin
Clear;
{ The 1st index has no name because it is
{ a Paradox primary key }
with AddIndexDefdo
begin
Name := '';
Fields := '类别;名称;型号;单位';
Options := [ixPrimary];
end;
with AddIndexDefdo
begin
Name := 'Fld2Indx';
Fields := '类别;名称;型号';
Options := [ixCaseInsensitive];
end;
end;
{ Call the CreateTable method to create the table }
CreateTable;
 
你用query吧可用table实现的就可用query实现 SQL语句中加order by ... Desc
 
我的意思是向数据库中输入数据后,输入一个数据,它就按索引排列,现在我只能做到按升序排列,希望能做到降序排列.例如我第一次输入10,第二次输入20,在Dbgrid中显示
10
20
第三次输入15,则在Dbgrid中显示
10
15
20
依次类推.我希望能按
20
15
10
的顺序来排列.
 
指定option为ixDescending应该是可以的,注意这个与升序的索引不能重名。
 
与升序的索引不能重名?
请再说详细些?最好就我上面这段程序来举例说明?
 
我也认为用query方法好一些,再将query中的数据写到table中。
 
直接用SQL语句的Create Table建立表及降序索引,包你如愿
 
leechange
我用SQL语句的Create Table建立表及降序索引,发现如果有两个以上的字段,
对于第一个字段是降序索引,而第二个字段却不是,然而用desktop去看以下索引
在保存就ok,可否告知原因.
thank you!
 
接受答案了.
 

Similar threads

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