我的系统中有一个非常大的查询,它必须从数据库中检索一些信息并在java中处理它。问题是查询在成功时返回一个完整的结果表,并为可能出现的不同问题返回不同的int错误代码。当一切顺利并且我获得一个充满数据的表时,对象ResultSet正常工作,但是当我获得错误代码时,ResultSet对象为空。当它可能是一个int或一个表时,是否可以管理查询的输出?
代码:
ResultSet resultValue = commonDao
.getResultSet(Queries.QUERY_RETURNING_TABLE_OR_INTEGER);
try {
resultValue.next();
if ("1".equalsIgnoreCase(resultValue.getString(1))) {
logger.info("Everything went well");
} else if ("-1".equalsIgnoreCase(resultValue.getString(1))) {
logger.error("Error number 1");
error = true;
} else {
logger.error("The following data is in error:");
while(resultValue.next()) {
logger.error("item_id: " + resultValue.getString(1) + " | file_id: " + resultValue.getString(2) + " | currency: " +
resultValue.getString(3) + " | issue date: " + resultValue.getString(4));
}
error=true;
}
} catch (SQLException e) {
logger.fatal("There was a sql problem: " + e);
error = true;
}
}
return error;