Java服务器报错
客户端一次性向服务器请求三次数据,服务器的代码:
for(int i=0 ; i<allIDList.size() ; i++)
{
Object[] stallStatusone = {allIDList.get(i).get("user_id")};
String queryAllUserone = "select stall_name,goods_name,goods_description from MoveStall_GoodsTable where user_id=?";
List<Object> newUserList = conn.excuteQuery(queryAllUserone, stallStatusone);
JSONArray jsonUser = JSONArray.fromObject(newUserList);
}
/**
* 获取结果集,并将结果放在List中
*
* @param sql
* SQL语句
* @return List
* 结果集
*/
public List<Object> excuteQuery(String sql, Object[] params) {
// 执行SQL获得结果集
ResultSet rs = executeQueryRS(sql, params);
// 创建ResultSetMetaData对象
ResultSetMetaData rsmd = null;
// 结果集列数
int columnCount = 0;
try {
rsmd = rs.getMetaData();
// 获得结果集列数
columnCount = rsmd.getColumnCount();
} catch (SQLException e1) {
System.out.println("发生错误了1:"+e1.getMessage());
}
// 创建List
List<Object> list = new ArrayList<Object>();
try {
// 将ResultSet的结果保存到List中
while (rs.next()) {
Map<String, Object> map = new HashMap<String, Object>();
for (int i = 1; i <= columnCount; i++) {
map.put(rsmd.getColumnLabel(i), rs.getObject(i));
}
list.add(map);
}
} catch (SQLException e) {
System.out.println("发生错误了2:"+e.getMessage());
} finally {
// 关闭所有资源
closeAll();
}
/**
* 关闭所有资源
*/
private void closeAll() {
// 关闭结果集对象
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
// 关闭PreparedStatement对象
if (preparedStatement != null) {
try {
preparedStatement.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
// 关闭CallableStatement 对象
if (callableStatement != null) {
try {
callableStatement.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
// 关闭Connection 对象
if (connnection != null) {
try {
connnection.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
上面是服务器主要代码,但是会报错:
发生错误了1:Operation not allowed after ResultSet closed
发生错误了2:Operation not allowed after ResultSet closed
什么原因呢???