salut,
j'ai un problème dans mon code
je veux sélectioné une colonne dans ma table mais elle contient le caractère ":"
j'effectu la requette suivante
String query = "SELECT VLR_LGOS:RQ_LC FROM test01 where (Object = 'MSC01') ";
mais l'erreur suivante est apparue
Erreur lors de la connexion : java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression 'VLR_LGOS:RQ_LC'.
comment faire :? :? :?
[Résolu] errer de syntaxe requette JDBC
lun, 19/03/2007 - 10:39
#1
[Résolu] errer de syntaxe requette JDBC
Le problème est que : dans un nom de colonne est totalement illégal en SQL, pour autant que je sache.
J'ai vérifié, Access l'accepte quand même :(
Microsoft et les standards... :(
Bon maintenant c'est normal que le pilote qui compile (=analyse) la requête te jette.
Ce qui est moins normal est que le pilote semble signé Microsoft si j'en crois le message d'erreur, et il devrait accepter
Bref tu es coincé. Alors que faire? A mon humble avis, la solution qui s'impose est de renommer correctement la colonne de la table en remplaçant : par _
Maintenant si 1000 applications accèdent à la base, c'est sans doute plus facile à dire qu'à faire ....
Essaie quand même avec un caractère d'échappement
SELECT VLR_LGOS\:RQ_LC FROM test01 where (Object = 'MSC01')
Donc dans une chaîne Java
"SELECT VLR_LGOS\\:RQ_LC FROM test01 where (Object = 'MSC01')"
Sans garantie....
ce ci n'est pas possible car je dois concerver les noms de mes champs
merci mais ça marche pas voici l'erreur :(
[Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 2 attendu
:!:
J'avais bien dit sans garantie...
Et comme ça:
SELECT "VLR_LGOS:RQ_LC" FROM test01 where (Object = 'MSC01')
Remarque bien: des guillemets et pas des quotes.
donc dans une chaîne Java
"SELECT \"VLR_LGOS:RQ_LC\" FROM test01 where (Object = 'MSC01')"
merci ça marche :D :D :D :D :mrgreen:
vrément vous etre le meilleur :mrgreen:
Fred n'est pas un geek pour rien 8)