JDBC INSERT INTO comment obtenir l'ID de mon enregistrement ?
coyote_fx
Messages postés55Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention18 juillet 2006
-
22 mars 2004 à 09:32
afaf2006
Messages postés37Date d'inscriptionmardi 14 mars 2006StatutMembreDernière intervention25 juin 2010
-
25 mars 2008 à 18:22
Boujour à tous
Voilà ds mon code JAVA, je dois faire des INSERT INTO dans l'une des tables de ma DB (SQL serveur), L'id s'incrémentant automatiquement, je n'ai aucun contrôle dessu. Pour connaitre l'ID, je suis alors obligé de faire un SELECT dans le style "SELECT ID MA_TABLE ..." et de trier pas ordre décroissant, de cette manière le premier enregistrement est celui que je viens de créer.
Cette méthode me m'enbête car je suis obligé de créer un resultset qui va prendre un peut de place en mémoire et qui va contenir tous les ID de ma table.
Ma question est la suivante, y a t-il une autre méthode plus propre et plus rapide pour obtenir l'ID d'un enregistrement qu'viendrait d'être fait ou qui serait le dernier fait ?
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 22 mars 2004 à 13:49
GodConan :clown)
ben si tu a k un seul client tu peut suivre l id durant ta session ( si c un auto_increment ) ds une variable et ds se cas pas besoin d interroger ta table pour le connaitre a chac foi.
Autrement un ResultSet ne prend pas particulierment bcp de memoire ;o) ce n est qu un tableau de pointeurs ;o).
autrement (si plusioeur client) tu peu aussi ds t colonne ajouter un id propre au client que tu remplirai cette foi toi meme et ki te permetrai de faire ta requete pour trouver l id
genre : select id tatable where localId = "lavaleur que g mise ;o)" et la tu est sur d obtenir un seul enrege ;o)
ds la valeur tu met par exemple le nom du client et la date ;o)...
coyote_fx
Messages postés55Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention18 juillet 2006 22 mars 2004 à 14:22
Wi,
j'aime bien la dernière solution pour les clients.
Ds mon code il y a deux services (JAVA) qui travaillent avec la db et des clients interface WEB JSP, ca sera le deuxième phase + la base de donnée SQL server qu sert de tampon entre les services et l'interfave .