No, non devi aprire una seconda connection.
Semplicemente, ottieni una nuova PreparedStatement, ci passi il parametro della WHERE e la esegui.
codice:String redirectUrl = "..."; // Pagina di errore, in caso qualcosa vada storto PreparedStatement pstmt = null; ResultSet rs = null; int id = -1; try { pstmt = connection.prepareStatement("SELECT id FROM question WHERE user_id = ?"); pstmt.setInt(1, userid); rs = pstmt.executeQuery(); if ((rs != null) && rs.next()) { id = rs.getInt( 1 ); } } catch (Exception e) { e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (Exception e) { } } if (pstmt != null) { try { pstmt.close(); } catch (Exception e) { } } // Solo se questa è l'ultima volta che fai query, prima di inviare la response al client if (connection != null) { try { connection.close(); } catch (Exception e) { } } } if (id >= 0) { redirectUrl = "DisplayQuestion?qId="+ id; } response.sendRedirect( redirectUrl );
Ciao.![]()



Rispondi quotando
