Récupérer requete en JDBC [Résolu]

Messages postés
764
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
8 mars 2011
- - Dernière réponse : xpmich
Messages postés
62
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
11 mars 2010
- 4 déc. 2009 à 07:59
Yop yop tout le monde,

voila j ai une question toute bete et j trouve pas la réponse ! :D
Quand on fait :

String sql = "une requete sql";
PreparedStatement stmt = con.prepareStatement(sql);

Est ce que y a moyen après de récupérer la requete sql à partir du stmt ??

Mici !!
++ Toinou
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
14
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
27 avril 2007
3
Merci
Salut,

Je pense que tu ne peux pas récupérer la requete à partir du PrepareStatement où si c'est le cas je ne sais pas comment, par contre, tu as la requete en entrée donc tu peux la logger facilement.

Ensuite, tu rajoutes un try catch sur SQLException et tu as l'erreur oracle si ça plante.

En tout cas, c'est comme ça que je fais.

Zieunoir

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de zieunoir
Messages postés
764
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
8 mars 2011
6
3
Merci
Yop yop,

merci pour la réponse, en fait je voulais faire l inverse de mon exemple (mais c etait plus simple de le montrer comme ca), j voulais avoir le PrepareStatement en entrée sans connaitre la requete sql associée et donc récupérer cette requete apres.
De tte facon d apres ce que j ai vu ailleurs ca a pas l air d etre faisable pour la raison suivante (je pense) si la requete est
select * from TRUC where id=? and login="toto"
et que tu valorise avec id = 2 tu pourra pas faire la distinction avec la requete suivante passée en entrée :
select * from TRUC where id=2 and login="?" valorisé avec login=toto

Merci en tt cas,
++ Toinou

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de super_toinou
Messages postés
62
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
11 mars 2010
0
Merci
Bonjour,

Je suis d'accord avec toi, on ne peut pas faire le distinguo. Cependant, si l'envie est juste de connaître les requêtes émises à la bases.
Est-il possible, uniquement avec le PrepareStatement de récupérer la requête complète ?

Exemple :
select * from TRUC where id=2 and login="?" valorisé avec login=toto

Valeur voulue :
select * from TRUC where id=2 and login="toto"

Merci d'avance. Xpmich
Commenter la réponse de xpmich