我把ResultSet设置成CONCUR_UPDATABLE我删除行后deleteRow()
然后调用previous(),再调用next()会抛出无法获取删除行的值的异常
    public void getSet(){
try {
    conn = getConnection();
    st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    set = st.executeQuery("SELECT * FROM STUDENT");
} catch (ClassNotFoundException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
} catch (SQLException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}
    }    private void delete() throws SQLException {
set.deleteRow();
    }

解决方案 »

  1.   

    delete()方法是删掉当前行,调用previous()光标像前移动一行,在调用next()获取的刚好是删掉的那行,所以报错了!
      

  2.   

    那用户一页一页的翻记录,突然看到一条没用的记录,就把他删除了
    如果他又往上翻,又往下翻不就会出异常了吗
    这个又不是为什么要previous的问题,你又不能规定别人怎么调用记录
      

  3.   

    为什么被删除的行还保留在ResultSet里?
    难道每next或pre一次都要检查一下该行是否被删除了吗?