> Dans ton cas, as tu une raison pour vouloir faire absolument le close du 
> ResultSet ?

Une vielle habitude des IO, qui m'a �vit� beaucoup de bugs (les fermetures 
automatiques ayant souvent un bug dans les cas tordus qui ont 99,99% de chance 
d'arriver chez le client).

Dans le cas pr�sent, je vais �liminer le rs.close() pour ne garder que le st.close().
Je trouve �a moins "joli", mais au moins je garde l'information de l'exception 
possible.

Merci,

--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
T�l. 01 41 96 96 76
Fax 01 41 96 96 77
M�l  [EMAIL PROTECTED] 
 

-----Message d'origine-----
De : Sebastien Cesbron [mailto:[EMAIL PROTECTED]
Envoy� : vendredi 7 mars 2003 12:53
� : [EMAIL PROTECTED]
Objet : Re: Resultset et close()


J'avais eu le m�me probl�me que toi a une �poque et je m'�tais rendu 
compte que finalement je n'avais pas besoin de faire le close de mon 
ResultSet moi m�me vu que c'est fait dans le close du Statement.
Dans ton cas, as tu une raison pour vouloir faire absolument le close du 
ResultSet ?

Seb

Erik Mazoyer wrote:
> J'ai une m�thode qui ouvre un java.sql.ResultSet sur une base de donn�e.
> Dans le finally de la m�thode, je referme le ResultSet (m�thode close()).
> 
> ResultSet     rs      = null;
> try {
>       ...
>       rs      = stmt.executeQuery(...);
>       ...
> } finally {
>       if(rs != null) {
>               rs.close();
>       }
> }
> 
> Le probl�me est qu'au cours de la m�thode ce ResultSet peut �tre ferm� ou non (la 
> m�thode n'est pas en mesure de le savoir).
> 
> Je n'ai pas trouv� de solution pour d�termin� si un ResultSet est ferm� ou non.
> 
> Si je le ferme � nouveau le ResultSet dans le finally, une exception est lev�e.
> Mais h�las elle est de type SQLException, ce qui n'est pas sp�cifique.
> 
> Bref pour l'instant la seule solution trouv�e est de ne pas tenir compte de 
> l'exception lev�e par le close.
> 
> } finally {
>       if(rs != null) {
>               try {
>                       rs.close();
>               } catch(SQLException sqlex) {}
>       }
> }
> Mais cela masque aussi toutes les autres raisons pour lesquelles le close n'a pu 
> avoir lieu, ce qui nuit au d�boguage.
> 
> public void close()
>            throws SQLException
> ...
> Throws: 
>       SQLException - if a database access error occurs
> 
> Bref, avez vous une solution � me proposer ?
> 
> Merci,
> 
> --------------------------------------------------------------------
> Erik Mazoyer, Chef de projet
> HyperOffice
> 6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
> T�l. 01 41 96 96 76
> Fax 01 41 96 96 77
> M�l  [EMAIL PROTECTED]
> _____________________________________________________________________
> GRAND JEU SMS : Pour gagner un NOKIA 7650, envoyez le mot IF au 61321
> (prix d'un SMS + 0.35 euro). Un SMS vous dira si vous avez gagn�.
> R�glement : http://www.ifrance.com/_reloc/sign.sms
> 

_____________________________________________________________________
Envie de discuter en "live" avec vos amis ? T�l�charger MSN Messenger
http://www.ifrance.com/_reloc/m la 1�re messagerie instantan�e de France

Répondre à