【发布时间】:2021-01-12 15:38:46
【问题描述】:
我有这段代码:
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8","root","Icdjoil100");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from t_user");
while(rs.next())
//System.out.println(rs.getInt(0)+" "+rs.getString(1));
con.close();
}catch(Exception e){
e.printStackTrace();
}
但我有这个错误:
java.sql.SQLException: Operation not allowed after ResultSet closed
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.ResultSet.checkClosed(ResultSet.java:666)
at com.mysql.jdbc.ResultSet.next(ResultSet.java:7274)
at Test.main(Test.java:19)
【问题讨论】:
-
为了清楚起见,您应该在
while语句中使用大括号{和}- 并查看 this tutorial 中关于结果集迭代的示例代码(以及之后的关闭语句)。
标签: java mysql sql database jdbc