[java] Soucis de requête SELECT avec une date

Soucis de requête SELECT avec une date [java] - Java - Programmation

Marsh Posté le 22-05-2009 à 10:41:25    

Bonjour,
 
J'ai un petit soucis, je réalise cette requête lors d'un programme java :
sqlGetId = "SELECT pdate_id FROM import.pubdate WHERE pdate_status = \'"
+art.getPubStatus()+"\'"
+" AND pdate_date = "+art.getPubmedPubDate();
rs = this.executeQuery(sqlGetId);
 
getPubStatus retourne un string et getPumbedPubDate retourne une java.sql.Date...
 
Or j'ai cette erreur au moment de l'exécution :
org.postgresql.util.PSQLException: ERROR: operator does not exist: date = integer
 
 
Quelqu'un aurait-il une idée sur pourquoi j'ai cette erreur ?


Message édité par Subgenk le 29-05-2009 à 15:03:19
Reply

Marsh Posté le 22-05-2009 à 10:41:25   

Reply

Marsh Posté le 22-05-2009 à 14:10:11    

La date doit être une valeur numérique sur 4 octets avec un format spécial, ce qui n'est probablement pas le cas de art.getPubmedPubDate(); La solution consiste à faire une conversion en une chaine de caractère des deux côtés.
Au lieu de :

+" AND pdate_date = "+art.getPubmedPubDate();

avoir :

+" AND TO_CHAR(pdate_date, 'DD/MM/YYYY') = '"
+convertir_date_en_chaine(art.getPubmedPubDate())+"';"


Message édité par olivthill le 22-05-2009 à 14:13:18
Reply

Marsh Posté le 25-05-2009 à 09:03:11    

sinon les statements c'est sympa aussi.
 
Ca peut éviter quelques problèmes, et surtout ça fait la conversion qui va bien.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 29-05-2009 à 15:03:06    

merci bien !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed