谁来探讨排序问题

bkbkbk 2003-09-29 01:05:52
想再程序中实现对数据库的排序(有几万记录)一般就是直接调用sort或者sql语句对吧,但是前提是没有重复的记录,对吗??
那么现在一个列有不少重复的数据,又想再程序实现排序难道真的要一条一条的比较吗,第一个字母不同又要比较第二个????这样是非常慢的。
哪位大侠提供好的办法
...全文
67 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hatumei 2003-09-29
  • 打赏
  • 举报
回复
DataSource连接到AdoQuery
DBGrid再连接到DataSource,
在FormShow或者显示DBGrid之前的事件里加入查询代码,也可以在设计时指定ADOQuery的sql语句,不用编码就可以完成
bkbkbk 2003-09-29
  • 打赏
  • 举报
回复
对了,我突然想到我的DateSource挂在DateTable下面,怎么连接是的ADOQuery可以进行排序操作啊
耙子 2003-09-29
  • 打赏
  • 举报
回复
1. 利用sql 的order by 很方便,作索引的列不一定是unique,可以重复。
2. 如果你是使用数据库这个排序的工作不需要你来完成。
hatumei 2003-09-29
  • 打赏
  • 举报
回复
你这样做的结果就是按照"音标"字段进行升序排列,布置你想要的是不知这个意思,排序的时候和主键是没有关系的,任何字段都可以排序
bkbkbk 2003-09-29
  • 打赏
  • 举报
回复
我的情况是这样的:对第一个字段设关键字了,然后想再程序里对第二个字段进行排序,但是失败了,代码如下


void __fastcall TForm1::Button13Click(TObject *Sender)
{

ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * from words order by 音标");
ADOQuery1->Prepared;
ADOQuery1->Open();

}
hatumei 2003-09-29
  • 打赏
  • 举报
回复
用数据库的排序功能排序很方便的:
select 字段列表(运算字段也可以) from 表名 order by 主序字段 asc|desc[,次序字段 asc|desc]
若要用程序排序,当然要比较,不比较怎能知顺序?这样做岂不制造麻烦,否则就不解了

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧