public ResultSet DB_select(String sqlcmd)
{
try {
Connection con = ds.getConnection();
System.out.println(con.isClosed()); Statement smt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet set = smt.executeQuery(sqlcmd);
ResultSet set1 = smt.executeQuery(sqlcmd);
//con.close();
try {
while(set.next())
{
String str = set.getString(1);
System.out.println(str);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(!set1.next()) return null;
return set;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}我调用这段代码后 编译器提示异常java.sql.SQLException: Invalid state, the ResultSet object is closed.
有大牛知道怎么解决不
你明白自己写的这句话的意思么?
ResultSet.CONCUR_READ_ONLY你把它在rs里面设置成只读了,所以说state得状态是invalid的
然后你执行sqlcmd,我没看到你的sqlcmd再哪里,反正你是当参数传进来的,所以其他的不好说
你把这个去掉再试下
ResultSet set1 = smt.executeQuery(sqlcmd);
和上面说的相违背