Date sent: Wed, 26 Jan 2000 17:39:25 +0100
To: java@u-strasbg.fr
From: Bruno CHOQUET <bchoquet@iutalencon.unicaen.fr>
Subject: JDBC - statement
Send reply to: java@u-strasbg.fr
Bonjour à tous,
Est-ce qu'il faut créer un statement par requête ou pour un ensemble de
requêtes SQL ?
Bruno CHOQUET, Administrateur réseaux
http://www.iutalencon.unicaen.fr
From: EPAUD Florent <fepaud@ebc-informatique.com>
To: "'java@u-strasbg.fr'" <java@u-strasbg.fr>
Subject: RE: JDBC - statement
Date sent: Wed, 26 Jan 2000 19:04:15 +0100
Send reply to: java@u-strasbg.fr
Non, tu peux le reutiliser ensuite :
Statement stmt = maconnexion.createStatement();
ResultSet results=stmt.executeQuery(requete);
if(results.next()) {
...
}
results=stmt.executeQuery(requete2);
while(results.next()) {
...
}
mais tu ne peux pas faire :
Statement stmt = maconnexion.createStatement();
ResultSet results1=stmt.executeQuery(requete1);
ResultSet results2=stmt.executeQuery(requete2);
if(results1.next()) {
...
}
while(results2.next()) {
...
}
-----Message d'origine-----
De: Bruno CHOQUET [SMTP:bchoquet@iutalencon.unicaen.fr]
Date: mercredi 26 janvier 2000 17:39
À: java@u-strasbg.fr
Objet: JDBC - statement
Bonjour à tous,
Est-ce qu'il faut créer un statement par requête ou pour un ensemble de
requêtes SQL ?
Bruno CHOQUET, Administrateur réseaux
http://www.iutalencon.unicaen.fr
From: aandris@santerne.fr (Andris Alexandre)
To: <java@u-strasbg.fr>
Subject: Re: JDBC - statement
Date sent: Thu, 27 Jan 2000 08:28:30 +0100
Send reply to: java@u-strasbg.fr
Bonjour a tous,
Cela depend
Voir ci dessous le mail de EPAUD Florent date du 12/01/00 vers14h
Je pense qu'il repond a ta question
En fait, j'ai eu le meme probleme
[
--------------------------------------------------------------------------
------------------ Objet : Temps de creation d'un statement
Bonjour la liste !
Quelqu'un a-t-il déjà évalué la durée d'un CreateStatement par rapport à
une String ???
Voilà mon probleme :
Dans ma fonction je fais plusieurs requetes. Pour cela j'utilise un seul
statement sur lequel j'appelle plusieurs fois des executequery avec des
requetes différentes.
Seulement je dois utiliser certaines données de la premiere requete plus
tard dans ma fonction, apres en avoir fait d'autres. Vu que ma fonction
est utilisée sur une servlet destinée à être appelée souvent, je voudrais
éviter de créer trop de String. Je pensais qu'en créant plusieurs
resultsets qui recueilleraient chaque fois le résultat d'une requete, je
pourrais conserver les données de chacune et donc les utiliser plus tard.
Mais je viens de m'apercevoir qu'un resultset était lié à un statement !
Si on fait une autre requete sur ce statement, qu'on le stocke dans un
deuxieme resultstet, l'appel au premier resultset est interdit !! ca
provoque un java.sql.SQLException: Exhausted Resultset impossible donc
d'accéder aux données de la premiere requete !
D'ou la nécéssité, soit de créer un statement par requete, soit
d'enregistrer toutes les infos, dans des String.
Je me doute bien que créer un statement
Statement stmt=connexion.createStatement();
est plus long que créer une string, mais à partir de combien de String
cela vaut-il le coup ???
Si quelqu'un a fait l'essai...
Merci et A+
Florent
--------------------------------------------------------------------------
-- ---------------- ]
Bonne chance...
----- Message d'origine -----
De : "Bruno CHOQUET" <bchoquet@iutalencon.unicaen.fr>
À : <java@u-strasbg.fr>
Envoyé : mercredi 26 janvier 2000 17:39
Objet : JDBC - statement
Bonjour à tous,
Est-ce qu'il faut créer un statement par requête ou pour un ensemble de
requêtes SQL ?
Bruno CHOQUET, Administrateur réseaux
http://www.iutalencon.unicaen.fr
Date sent: Thu, 27 Jan 2000 09:08:05 +0100
To: java@u-strasbg.fr
From: Bruno CHOQUET <bchoquet@iutalencon.unicaen.fr>
Subject: Re: JDBC - statement
Send reply to: java@u-strasbg.fr
Donc on peut utiliser le même statement pour des requetes différentes
sachant que ce dernier "s'actualisera" sur la dernière requete uniquement.
* Une autre précision : si j'execute des requêtes de natures différentes
(executeQuery, executeUpdate) puis-je prendre le même statement (sachant
que la nature des resultset est différente : resultset et int) ?
Bruno CHOQUET, Administrateur réseaux
http://www.iutalencon.unicaen.fr