我用的是SQL SERVER 作为后台数据库。
第一个问题是:在我的数据库的表中,有多条符合条件的记录。如何才能将AdoQuery的指针定位到第一条符合条件的记录,并且使指针依次移到以下符合条件的记录上。用什么样的语句可以完成这个功能?在我的界面上有“上一条”,“下一条”这样的按钮,如何通过这些按扭使符合条件的记录内容通过DBEdit这个组件依次显示出来?
第二个问题是:循环语句都有哪些?具体的语法。还有跳出循环的语名有哪些?
以上是我的问题。由于我的语言表述能力比较差,不知我的意思说明白了没有。
感谢各位高手帮我解决以上两个问题。
谢谢。

解决方案 »

  1.   

    break跳循环,exit跳出整个过程。while 变量 do.....语句已经够用。select * from where 条件,这样可以找到你符合条件的记录,adoquery.next下移一条记录
      

  2.   

    关于定位的问题:
    query1.close;
    query1.sql.text:='select * from where 条件 ';//先找到符合条件的记录
    query1.open;
    if not query1.IsEmpty then
    begin
    query1.first;                                //让query1指向符合条件的第一条记录
    end;procedure tform1.butpriorClick(sender:tobject);//‘上一条’的按钮
    begin
    query1.prior;
    end;procedure tform1.butnextClick(sender:tobject);//‘下一条’的按钮
    begin
    query1.next;
    end;
    //***********如果你还有‘第一条’和‘最后一条’这样的按钮的话*******
    procedure tform1.butfirstClick(sender:tobject);‘第一条’的按钮
    begin
    query1.first;
    end;procedure tform1.butlastClick(sender:tobject);//‘最后一条’的按钮
    begin
    query1.last;
    end;循环语句很多,找点书看看吧,这都是最基本的
      

  3.   

    query1.close;
    query1.sql.text:='select * from where 条件 ';//先找到符合条件的记录
    query1.open;
    if not query1.IsEmpty then
    begin
    query1.first;                                //让query1指向符合条件的第一条记录
    end;
    回复收到了,谢谢.
    只是上边这几条语句写在哪里合适呢.
    还有全局变量应该在哪里定义?
      

  4.   

    1.     procedure tform1.FormCreate(Sender: TObject);//最好写在窗体创建时
           begin
             query1.close;
             query1.sql.text:='select * from where 条件 ';//先找到符合条件的记录
             query1.open;
             if not query1.IsEmpty then
             begin
             query1.first;                          //让query1指向符合条件的第一条记录
             end;
           end;
    2.还有全局变量应该在哪里定义?
    答:全局变量应该写在implementation的上面
         
      

  5.   

    "条件是动态的"?哈哈
    它改变一次你就,改变一次sql语句嘛.动太改变总有触发的事件,或者改变的理由吧。(:
      

  6.   

    比如你在combobox框里面下拉,你就在onchange事件里面判断
    if combobox.itemindex=1 then begin 里面是你的程序 end;
    if combobox.itemindex=2 thne ....