当前位置:主页>仓库管理软件> 列表

如何进行大量记录的更新操作 找进销存

仓库管理软件版1楼: 各位,我正在做一个成绩分析系统,其中有一功能要依据总分进行排名,由于记录较多(几千条),我的算法不太高明,仅处理该功能就耗时5秒钟左右.不知有何办法来提高效率?以下是部分代码,请指正:
qr.Sort :=''总分 DESC'';
qr.First;
qr.DisableControls ;
while not qr.Eof do
begin
qr.Edit;
qr.FieldByName(''总分'').AsInteger :=qr.RecNo;
qr.Post;
qr.Next;
end;
qr.EnableControls;
此外,有不有直接用sql语句能完成此功能,那样肯定会相当快的
不胜感谢!!!!!!!

2楼: select * from yourtable order by 总分 如进销存

3楼: 这句有错,更正如下:
qr.FieldByName(''名次'').AsInteger :=qr.RecNo;
即把记录号填入名次字段中去,而且不用计算字段

4楼: SELECT (SELECT COUNT(*) + 1
FROM 成绩 b
WHERE b.总分 > a.总分) AS 名次, 姓名, 总分
FROM 成绩 a
ORDER BY 总分 DESC

5楼: 上述做法是形成计算字段吧,我的名次字段是一个真正的数据库中的物理字段

6楼: 看看这个
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1857337