java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position.
是表示你少了rs.next()

解决方案 »

  1.   

    给你个思路吧,你的SQL语句处要用判断来写
    “无记录”就是记录集rs.isAfterlast时你加上一句
    out.println("无记录");
      

  2.   

    Invalid operation for the current cursor position.应该是你对取出的数据集没有做非空判断就进行操作执行语句时最好能用catch 来捕捉错误
      

  3.   

    rs.last();//移到最后一条记录;
    Total=rs.getRow();//记录的总数;rs.absolute((OnPage-1)*EveryPage+1);//指定指针的位置;
    指向哪?
    如果查询为空的话会返回null,可以加个判断为空则显示信息啊
      

  4.   

    也可以给出一条操作语句,并且在catch(SQLException e){
      out.print("没有记录");
      }
    如果没有语句就会出错,那就行了但是这样不好
      

  5.   

    搂主,在你的for循环里找了半天都没看到rs.next()。拜托,在jsp页面里写逻辑,你不觉得累吗?我看得眼睛都酸了,而且要debug也很不方便。要做分页有很多方法,何必用这种呢?sql 2000 支持absolute()操作吗?Invalid operation for the current cursor position.告诉你在当前游标位置的非法操作
    int rowstart = (CurrentPage-1)*PageSize()+1 ;
    int rowend = CurrentPage()*PageSize ;
    // 以上是获取纪录定位,可以根据自己的程序来修改;
    if (rowend>recordCount) {rowend = recordCount;}//获取最后一条记录的定位
    for (int i=1;i<=rowend;i++){
                        rs.next();
                        if (i>=rowstart){
                           显示等等操作。
                           }                }
    经过测试,只用rs.next()完成;这是一个效率很低的方法,不过既然在jsp实现,也无所谓了。还有就是要明白自己的数据库支持什么样的rs.操作;如果要操作游标,那一定要确定其状态,位置。
      

  6.   

    我竟然找不到stmt在哪里申明的,是不是我眼睛不好
      

  7.   

    rs.last()后是不是要rs.beforeFirst()回到起始位置?
      

  8.   

    使用前要判断是否取到了数据,根据if(rs.next())就可以,如果有数据就可以读取.查询条件要正确!