如何取得当前记录的 前一条记录 和 下一条记录?

解决方案 »

  1.   

    ResultSet型的话
    rs.next();//下一条
    rs.previous();//上一条
    然后用rs.getString(列号或者列名);
    Result我不是很清楚
      

  2.   

    首先你要得到一个可滚动的结果集rs
    加入你调用rs.next()读取一个记录A
    那么连续2次调用previous()就可以得到记录A前面的记录
    然后再连续3次调用next()得到的就是A后面的那条记录
      

  3.   

    现在的问题是:给出了一个ID 然后判断这个ID的上一个ID及下一个ID是多少???条件语句我不知道怎么写啊!
      

  4.   

    我的 条件语句是:where="XXXX  where id="+给出的ID;
      

  5.   

    这是取下一下的,
    select * from
    (select rownum rn, ID
    from table1 t
    where t.ID > 3
    order by ID)
    where rn <= 1这是取上一个的,
    select * from
    (select rownum rn, ID
    from table1 t
    where t.ID < 3
    order by ID desc)
    where rn <= 1其中的3是你所指定的ID
      

  6.   

    rs.next();//下一条
    rs.previous();//上一条
    同意 简单  还实用  但是resultset 必须是可以移动的
      

  7.   

    ZW_Ren(任再旺) 的好像挺好的
      

  8.   

    rownum rn ?是什么意思?
      

  9.   


      rs.previous()先取上一条;
      再两次rs.next();取一下条.
      

  10.   

    前提是 我的条件语句是:where id=+给出的ID;这个条件要怎么变换这个条件可以实现。
      

  11.   

    .........ResultSet rs= con.executeQuery(select * from .. );
    while(rs!=null)
    if(rs.getString(id)==ID)
    {
    System.out.println(rs.previous().getString(id));
    System.out.println(rs.next().next().getString(id));
    }
      

  12.   

    楼上的出错了。。我是MYSQL数据库。
      

  13.   

    上一个ID和下一个ID什么意思?
    指你取出的结果集里面还是表中的某条记录前面和后面那条记录的ID?
      

  14.   

    用的MySQL数据库的话可以这样写SQL:
    select   @rownum:=@rownum+1   as   rownum,s1   from   t;  这是取下一下的,
    select * from
    (select @rownum:=@rownum+1 as rn, ID
    from table1 t
    where t.ID > 3
    order by ID)
    where rn <= 1这是取上一个的,
    select * from
    (select @rownum:=@rownum+1 as rn rn, ID
    from table1 t
    where t.ID < 3
    order by ID desc)
    where rn <= 1其中的3是你所指定的ID