bonjour!
j'ai un tit probleme avec les taglibs et la deconnexion a une base de donnée en cas de plantage ou relaod trop rapide
avant j'avais ce code la :
Citation :
......
<%
// Ouverture de connexion
ctr.makeConnection("SGBD" );
try {
ResultSet RS = ctr.getActeur();
if (RS != null) {
RS.beforeFirst();
while (RS.next()) {
sNum = ctr.recupCol("NUM_ACT",RS);
sPasse = ctr.recupCol("MOT_PASSE",RS);
// pour le format des dates
String format = "dd/MM/yyyy";
SimpleDateFormat formatDate = new SimpleDateFormat(format);
java.util.Date dCrea = ctr.recupColDate("DAT_CREA",RS);
String sDate_Crea = formatDate.format(dCrea);
java.util.Date dModif = ctr.recupColDate("DAT_MODIF",RS);
String sDate_Modif = formatDate.format(dModif);
%>
<tr>
<td><%=sNum%></td>
<td><%=sPasse%></td>
<td><%=sDate_Crea%></td>
<td><%=sDate_Modif%></td>
</tr> <%
}
}
%>
</table> <%
ctr.close();
}
catch (Exception e) {
ctr.close();
throw e;
}
%>
ETc....
|
Aucun probleme...
j'ai crée l'équivalent avec mes propres taglib, qui donne :
Citation :
.............
[/#e21c00]<tag:getConnectionByPoolUser="SGBD"></tag:getConnectionByPool>[/#e21c00] <tag:sqlQuery id="sql">
select num_act, mot_passe, dat_crea, dat_modif from _act </tag:sqlQuery>
<tag:resultSet queryId="sql">
<tag:rows>
<tr>
<td>
<tag:getStringColumn>num_act</tag:getStringColumn>
</td>
<td>
<tag:getStringColumn>mot_passe</tag:getStringColumn>
</td>
<td>
<tag:getDateColumn format="dd/mm/yyyy">dat_crea</tag:getDateColumn>
</td>
<td><tag:getDateColumn format="dd/mm/yyyy">dat_modif</tag:getDateColumn>
</td> </tag:rows>
</tr>
</tag:resultSet>
</table>
<tag:closeConnection></tag:closeConnection>
ETc.........
|
donc si je prend mon temps, y a pas vraiment de differences entre ces deux codes. Ou est le probleme me direz vous?
Bah par exemple si je lance la jsp contenant le code avec les taglibs et que je fais deux ou 3 reload rapides, je vais pas avoir mes connexions a la base de fermées. Alors que dans le cas 1 oui.
de plus si je me plante dans le code apres la taglib getConnectionByPool, la non plus, la connexion créée ne sera pas fermée. Alors que dans le cas 1, grace au try/catch on a pas tous ces problemes.
Je voulais dc savoir si quelqu'un sait comment résoudre ces problemes !! Comment fermer la connexion ouverte avant le plantage ou le reload !!
Merci beaucoup !!