当点击BUTTON1时候,实现记录向后翻页功能
这段代码只出现最后一个记录,请问要怎么修改,使点BUTTON1后,
可以从数据库的第一条记录翻页到最后一条?procedure TForm1.Button1Click(Sender: TObject);
begin
  with adoquery1 do
  begin
  close;
  sql.Clear;
  sql.add('select * from bk');
  open;
  first;
  while not eof do
  begin
  edit1.Text:=adoquery1.fieldbyname('name').asstring;
  edit2.text:=adoquery1.fieldbyname('programme').asstring;
  next;
  end;
    end;end;

解决方案 »

  1.   

    吧first改为 end
    不就是最后一条吗?
      

  2.   

    要一条一条的,第一条用FIRST,最后一条记录是LAST,而现在要的是第一条,第二条....一直到最后一条记录上面源代码是一下子就实现了从第一条到最后一条,所能看到的效果就剩下最后一条的记录了
      

  3.   

    将查询放到Button1Click的外面,
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with adoquery1 do
      begin
      if not eof then
      begin
      edit1.Text:=adoquery1.fieldbyname('name').asstring;
      edit2.text:=adoquery1.fieldbyname('programme').asstring;
      next;
      end;
      end;end;
      

  4.   

    那怎么实现啊,我想实现的效果只是点一下BUTTON1,然后出现下一条记录,再点一下BUTTON1,再下一条记录,....一直到最后一条记录
      

  5.   

    同意  wweijie(我是一只小小小小鸟):
        你每次按一下,都循环一次所有的记录,当然只能显示最后一条记录啊。
    这个都没看清楚啊。
        为什么不用DBNAVIGATOR呢?
      

  6.   

    要不然这样改把。procedure TForm1.Button1Click(Sender: TObject);
    begin
      with adoquery1 do
      begin
      if not Active then
      begin
        close;
        sql.Clear;
        sql.add('select * from bk');
        open;
        first;
      end ;
      while not eof do
      begin
        edit1.Text:=adoquery1.fieldbyname('name').asstring;
        edit2.text:=adoquery1.fieldbyname('programme').asstring;
        next;
      end;
      end;end;
      

  7.   

    不好意思,有个地方忘改了。(会报什么错?)procedure TForm1.Button1Click(Sender: TObject);
    begin
      with adoquery1 do
      begin
      if not Active then
      begin
        close;
        sql.Clear;
        sql.add('select * from bk');
        open;
        first;
      end ;
      if not eof then
      begin
        edit1.Text:=adoquery1.fieldbyname('name').asstring;
        edit2.text:=adoquery1.fieldbyname('programme').asstring;
        next;
      end;
      end;end;
      

  8.   

    还有个地方要改一下
      if not eof then
      begin
        next;
        edit1.Text:=adoquery1.fieldbyname('name').asstring;
        edit2.text:=adoquery1.fieldbyname('programme').asstring;
      end;
      

  9.   

    赫赫,我明白了,谢谢wweijie和zfmich