【发布时间】:2018-08-16 14:02:49
【问题描述】:
我有生以来第一次遇到这个奇怪的错误,我不知道这是什么意思。我有一个类可以从 postgresql 数据库的表中检索信息,执行一些操作并返回一个带有解析元素的数组列表:
ResultSet rs = ProduttoreDCS.getProduttori();
System.out.println("Recuperato result set produttori");
ArrayList<String[]> res = new ArrayList<String[]>();
while (rs.next()) {
String[] current = new String[6];
current[0] = Integer.toString(rs.getInt("partita_iva"));
current[1] = rs.getString("nome");
current[2] = rs.getString("cognome");
current[3] = rs.getString("via_sede");
current[4] = rs.getString("citta_sede");
current[5] = rs.getString("provincia_sede");
res.add(current);
current = null;
}
return res;
错误出现在“while”行。
public static ResultSet getProduttori() throws ClassNotFoundException, SQLException {
/*
* retrieve all record from produttori table
*/
Connection conn = null;
ResultSet res = null;
Statement stmt = null;
String query = "SELECT * FROM produttore";
conn = ConnectionManager.getConnection();
System.out.println("Connection obtained by ProduttoreDCS class");
stmt = conn.createStatement();
res = stmt.executeQuery(query);
stmt.close();
conn.close();
return res;
}
【问题讨论】:
-
向我们展示 getProduttori() 方法
-
getProduttori到底是做什么的?如果它试图多次重用相同的 ResultSet 对象,这很容易成为问题。 (顺便说一下,没有理由将current设置为null。) -
@jon skeet 我知道,删除它!编辑主帖
标签: java postgresql exception resultset