try{
String query= "select user_name from user";
ResultSet rs = queries.performQuery(query);
while(rs.next()){
System.out.println("User Name :" + rs.getString("user_name"));
}
別のクラスでは、次のようなものがあります。
public ResultSet performQuery(String query) throws SQLException
{
try
{
connection = DriverManager.getConnection(sqlUrl,sqlUser,sqlPassword);
stmt = connection.createStatement();
rs = stmt.executeQuery(query);
}
catch(SQLException ex)
{
}
finally{
close(rs);
close(stmt);
close(connection);
}
return rs;
}
ここで、ResultSet が閉じられた後に Operation not allowed というエラーが表示されます。これは明らかに、rs/stmt/connection を閉じているためです。
私は自分のコードを持っていないので、これは私の頭の上にあるだけで、構文エラーは無視してください。私の質問がまだ十分に明確であることを願っています。
だから私の質問はこれです:
たとえば、クエリを実行するメソッドが必要で、それを別のメソッドで呼び出してから rs.next を実行する場合、結果セット/stmt/接続を閉じる適切な方法は何ですか? 私にとっては、performQuery を閉じることは理にかなっていますが、エラーが発生します。