如果是oracle数据库,可以用rownum作为条件取数据的

解决方案 »

  1.   

    如果是mysql数据库可以用limit关键字来控制条数
      

  2.   

    不使用jdbc,而是使用jdbc的轻量级封装
    用hibernate嘛,hibernate.properties里边设定 fetch一次取20
      

  3.   

    比较造成ziyaoshui(紫药水)(▲▲) 的做法。不知大家是怎么理解ResultSet.setFetchSize()的
      

  4.   

    我的办法是:每次检索产生一个临时表,表设有自动增量字段.
    检索时首先返回总记录数(总页数),然后:select * from xxx where id between x and y
    其中:x,y由第n页及每页记录数决定
      

  5.   

    可以用struct自己带的分页的呀
    为什么一定要自己写呢
      

  6.   

    用rownum取可以,但性能好象也不高!
      

  7.   

    谢谢大家,还有个问题 :  SQL SERVER 的SQL 中  动态参数怎么写  ? 比如: select ....where  fieldname like value ,value 是string类型的,在程序中经常改变,  我原来这样写:
    String sql =  ''select .....where fieldname like ?''
    PrepareStatement pstm = conn.prepareStatement(sql);
    pstm.setString(1,someValue);
    但这样一来产生的RS 不支持 rs.last();只好改为 Statement stmt =conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    这时候SQL 应按怎么写呀?