|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Alf CedanoInscription : septembre 2010 Messages : 116 ![]() |
Bonjour à tous et bonne année!
Je viens vers vous car je bloque depuis hier. J'essai de vérifier si une personne existe dans ma base de données Postgresql pour cela je dois vérifier trois colonnes de la base (nom, prénom et datenaissance), j'ai donc une fenêtre où je récupère nom, prénom et datenaissance de la personne, puis je construis une requête: SELECT idpersona FROM tpersonas where nom= 'A' and prenom= 'B' and datenaissance= '22/08/1972' J'ai droit à l'erreur: Code :
Voici mon JTextField: Code :
Merci si quelqu'un me donne une idée. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 331 ![]() |
Jette un coup d'oeil à la classe SimpleDateFormat. Elle te permet de formater des dates en texte et inversement de parser du texte en date.
Pour ce qui est ensuite de faire la requête, je te conseille d'utiliser des PreparedStatement pour injecter tes valeurs, au lieu de construire ta requête SQL par concaténation. Ca te permettrait : - D'être indépendant de la base de donnée et de son format - D'éviter toute injection SQL
__________________
Program manager chez TraceOne. http://www.traceone.com |
|
|
00
|
|
|
#3 | ||||||
|
Membre du Club
![]() Alf CedanoInscription : septembre 2010 Messages : 116 ![]() |
Merci pour la reponse chtig,
J'ai beaucoup lu sur SimpleDateFormat et j'ai fait plusieurs essais, mais toujours le même problème. Quant à ma chaîne SQL une fois generéé j'interroge la base de données par un PreparedStatement. Par exemple: Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() |
Comment passer/vider les paramètres du PreparedStatement(IN parameters) ?Tu utilise les méthode setDate de ton preparedStatement et le tour est joué.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
00
|
|
|
#5 | ||||
|
Membre du Club
![]() Alf CedanoInscription : septembre 2010 Messages : 116 ![]() |
Re-bonjour,
J'ai trouvé une solution, il fallait convertir ma date saisie dans le JTextField en format (dd/MM/yyyy) pour le format (yyyy-MM-dd) pour ensuite envoyer la requête au SGDB, en faisant quelque chose comme cela: Code :
Je recupère les valeurs de mes JTextFields dans un Map appelé "key", que je lis ainsi pour préparer mon Statement: Code :
|
||||
|
|
01
|
|
|
#6 |
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 331 ![]() |
Effectivement, cela fonctionne, mais je te conseille de regarder tout de même le lien donné sur l'utilisation de PreparedStatement et l'injection de paramètre. C'est la méthode recommandée !! (cf raisons évoquées précédemment)
__________________
Program manager chez TraceOne. http://www.traceone.com |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com