delphi如何对数据表中的数据排序

作者&投稿:任善 (若有异议请与网页底部的电邮联系)
Delphi 中如何实现对表中数据重新排序?~

如果你有一个query,内容是:select * from table order by id,你点击按钮之后,将这个query清除,代码如下:
query.close;
query.sql.clear;
query.sql.add('select * from table order by nameid'); // 这里就是重点了。
query.open;
搞定。

不用memo控件,采用edit控件程序:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var st,s,ss:string; a:array[1..100] of integer; i,j,k:integer; p,q,t:integer;begin st:=edit1.Text; i:=0; while pos(',',st)>0 do begin s:=copy(st,1,pos(',',st)-1); val(s,j,k); inc(i); a[i]:=j; delete(st,1,pos(',',st)); end; val(st,j,k); inc(i); a[i]:=j; for p:=1 to i-1 do for q:=p+1 to i do if a[p]>a[q] then begin t:=a[p]; a[p]:=a[q]; a[q]:=t; end; str(a[1]:0,ss); for p:=2 to i do begin str(a[p]:0,s); ss:=ss+','+s; end; edit1.Text:=ss;end;end.

方法很多哈 1.加入一个ADOQUERY。连接DATASOURCE。修改SQL语句可以达到效果
2..在DBGRID的点击事件中修改。方法这没没有现成了的,这个比较麻烦一点不推荐。
3..这个是我极力推荐的,也是DELPHI的神器。把DBCRID这个控件换了,换成CXGRID这个是一个第三方空间,自己百度一下可以找出很多

直接在butto1的OnClick事件里设定Table1的IndexFieldNames属性为成绩就可以了


淳化县18144353627: delphi如何对数据表中的数据排序 -
挚纨法禄: 方法很多哈 1.加入一个ADOQUERY.连接DATASOURCE.修改SQL语句可以达到效果2..在DBGRID的点击事件中修改.方法这没没有现成了的,这个比较麻烦一点不推荐.3..这个是我极力推荐的,也是DELPHI的神器.把DBCRID这个控件换了,换成CXGRID这个是一个第三方空间,自己百度一下可以找出很多

淳化县18144353627: Delphi 中如何实现对表中数据重新排序? -
挚纨法禄: 数据库表一般都设有主键,数据自动按主键排序的.对非主键字段排序没有什么意义.如果要在窗体界面中按某个字段排序显示,一般有两种方法:1、查询语句中用Order By子句指明按哪个字段排序查询的结果.2、在数据集控件中指定按排序的字段.如 ADOQuery1.Sort := '年龄 ASC, 姓名 DESC'; //按年龄升序、姓名降序排序 或 ADOTable1.Sort := '年龄 ASC, 姓名 DESC'; //按年龄升序、姓名降序排序

淳化县18144353627: delphi 如何对一组数据随机的排序
挚纨法禄: 这组数据存在那里?1.数组里?随机生成数组的下标,按下标来取.2.数据库中:随机生成一个唯一的记录标号,根据标号来取.

淳化县18144353627: delphi编程, 如何实现赋值StringGrid表格内的数字按顺序排列 -
挚纨法禄: 从小到大排列,用个简单的冒泡排序法就好了.procedure TForm1.Button1Click(Sender: TObject); var i,j:Integer; tmp:Double; begin for i:=0 to StringGrid1.RowCount-2 do begin if StringGrid1.Cells[0,i]='' then continue; for j:=i to StringGrid1....

淳化县18144353627: delphi 请教,ClientDataSet中的数据如何排序?
挚纨法禄: ClientdataSet.CommandText:='Select * from Table1 orderby name'tabel1是表名,name是要排序的字段.

淳化县18144353627: delphi如何对对Excel数据进行排序? -
挚纨法禄: 这还不简单,把EXCEL的A1与B1列的数据导入ACCESS数据库然后按A1列排序读出来再写到EXCEL就可以了.

淳化县18144353627: 求delphi高手帮助,delphi中stringgrid中的一列数据怎么排出名次,在名次一列显示1,2... -
挚纨法禄: //对StringGrid的某一列进行排序 Procedure GridSort(StrGrid: TStringGrid;NoColumn:Integer); VarLine, PosActual:Integer; Row: TStrings; Renglon:TStringList; beginRenglon:=TStringList.Create; For Line := 1 to StrGrid.RowC ount-1 do Begin ...

淳化县18144353627: delphi adoquery.sort如何按照数字大小排序 -
挚纨法禄: 在adoquery所执行的SQL语句中,写排序子句.ORDER BY 要排序的字段名

淳化县18144353627: delphi 临时表 排序 -
挚纨法禄: 如果表中其他字段有序,可以利用该字段做update语句; 否则只能编程,可以使用"对记录号进行修正"来转换; 如果数据量不大,也可以在Excel中先用拖动的方法做好一组序列后复制并替换相应内容即可....

淳化县18144353627: delphi excel中 用strlist 怎么将excel中的一列进行由小到大的排序..急用 谢谢 -
挚纨法禄: strlist.sort

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网