Gente, estou tentando fazer duas consultas mais ou menos “simultâneas” numa mesma conexão, já criei statements diferentes e ele continua dando o mesmo erro de que o “ResultSet” não está corretamente posicionado, já conferi que todas as conexões/statamentes tbm estão sendo fechadas corretamente…
o que mais pode ser ?
[code]
Connection con;
Statement stmt, stmt2;
String query = "SELECT * FROM banco offset 10 limit 10" ;
try {
Class.forName("org.postgresql.Driver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try {
con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/"+banco,usuario,senha);
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int numColumns = rsmd.getColumnCount();
String[] lista_atributos= new String[numColumns];
for (int i=1; i<numColumns; i++) {
String columnName = rsmd.getColumnName(i);
lista_atributos[i]=columnName;
}
int cont_pac=0;
while (rs.next()) {
Paciente pac= new Paciente();
String hospital = rs.getString("hospital");
pac.setHospital(hospital);
String entrada= rs.getString("data_inter");
String saida= rs.getString("data_saida");
pac.setEntrada(entrada);
pac.setSaida(saida);
String tipo=rs.getString("cat_int");
String query2="SELECT tipo FROM categoria WHERE codigo=\'"+tipo+"\'";
stmt2 = con.createStatement();
ResultSet rs2 = stmt2.executeQuery(query2);
String tipo1=rs2.getString("tipo");
if(tipo1=="tipo1"){
pac.setTipo(1);
}else if(tipo1=="tipo2"){
pac.setTipo(2);
}
rs2.close();
stmt2.close();
}
rs.close();
stmt.close();
con.close();
}
catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
[/code]