我把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();
}
然后调用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();
}
如果他又往上翻,又往下翻不就会出异常了吗
这个又不是为什么要previous的问题,你又不能规定别人怎么调用记录
难道每next或pre一次都要检查一下该行是否被删除了吗?