1、问题描述:我要在一个表(以下将列如表结构)中实现排序的同时在备注中加“共有几人并列”的目的。
表结构:
表名:CJK
字段:ksh,xm,yxskcsf,bz(都为字符)
请看以下语句实现:
procedure Torderform.BitBtn4Click(Sender: TObject);
var i,j,temp,zh:integer;
var sf:string;
var fir,sec:single;
begin       //0
sf:=datamode.querysys.fieldbyname('provice').AsString;
datamode.querypx.Close;
datamode.querypx.SQL.Clear;
datamode.querypx.SQL.Add('select ksh,xm,sf,zymc,yxzymc,yxskcsf,bz from cjk where sf='+#39+sf+#39);
datamode.querypx.SQL.Add('and zymc='+#39+trim(combobox1.Text)+#39);
datamode.querypx.SQL.Add('order by yxzymc');
datamode.querypx.Active:=true;
datamode.querypx.First;
while not datamode.querypx.Eof do
  begin //1
zh:=1;
fir:=datamode.querypx.FieldByName('yxskcsf').AsFloat;
datamode.querypx.Next;
sec:=datamode.querypx.FieldByName('yxskcsf').AsFloat;
if(fir=sec)then
begin
zh:=zh+1;
end
else
begin
for temp:=1 to zh do
      begin    //4
datamode.querypx.Prior;
      end;    //4
for temp:=1 to zh do
      begin  //5
datamode.querypx.Edit;
datamode.querypx.FieldByName('bz').AsString:=inttostr(zh);
datamode.querypx.Post;
datamode.querypx.Next;
      end;    //5
 end;//else语句结尾
  end;   //1       for语句结尾
showmessage('排序已经完成');
end;  //0我要实现在"bz"中加入有几个考生并列的信息。但我发现,语句这样写时出现了,当fir与sec相等时,zh相加操作后直接跳出。请教如何实现?