库中有字段
id    内容
form1.ADOQuery1.Close;
form1.ADOQuery1.SQL.Clear;
form1.ADOQuery1.SQL.Add('select * from 表1);
form1.ADOQuery1.sql.Add('where 内容="'+trim(edit1.Text )+'"');
form1.ADOQuery1.Open;现在想求出所输入内容的下一条记录,也就是说求出当前内容的ID为2,我想在exit2里得到ID为3的内容
请问各位,要如何来写
在asp里就会了,在delphi里就不会写了
我这样写的
form1.ADOQuery1.Close;
form1.ADOQuery1.SQL.Clear;
form1.ADOQuery1.SQL.Add('select * from 表1);
form1.ADOQuery1.sql.Add('where 内容="'+trim(edit1.Text )+'"');
form1.ADOQuery1.Open;
form1.ADOQuery2.Close;
form1.ADOQuery2.SQL.Clear;
form1.ADOQuery2.SQL.Add('select * from  表1');
form1.ADOQuery2.sql.Add('where 序号="'+trim(ADOQuery1.fieldbyname('id').AsString)+1+'"');form1.ADOQuery2.Open;
 edit2.text:=trim(ADOQuery2.fieldbyname('内容').AsString);
请各位指点

解决方案 »

  1.   

    form1.ADOQuery2.sql.Add('where 序号="'+trim(ADOQuery1.fieldbyname('id').AsString)+1+'"');
                                                                                     ***                                                                             //這個1是什麼思路是正確的。如果是多表關聯的話用left join好了
      

  2.   

    我是想将trim(ADOQuery1.fieldbyname('id').AsString)
    这个值加上1,就可以得到下一个ID了
    可是我真的太菜了,不知道要怎么样来写
    只有一个表的,很简单的一个表
      

  3.   

    这个问题好办,在“查询”按钮的代码里定义一个变量
    VAR
    myid:String;
    tempid:integer;begintempid:=StrToInt(Trim(edit1.text)) +1 ;
    myid:=IntToStr(tempid);然后form1.ADOQuery1.Close;
    form1.ADOQuery1.SQL.Clear;
    form1.ADOQuery1.SQL.Add('select * from 表1);
    form1.ADOQuery1.sql.Add('where 内容="'+myid+"');
    form1.ADOQuery1.Open;
      

  4.   

    sql中加上order by id ,取完一个后 adoquery1.next就行了
      

  5.   

    你别用AsString去+1呀,这个怎么加?你得用AsInteger去+1,然后转换成string去查询