Je proposerais un getString(index) au lieu de getString(String), mais �a suppose que tu pr�cises les champs (et leur ordre) � r�cup�rer dans ton SELECT et non pas *.
De toute fa�on, je trouve �a plus propre de ne pas tout ramener si tu ne te sers pas de tout.
Manu
-----Original Message-----
From: Libert S�bastien [mailto:[EMAIL PROTECTED]]
Sent: mardi 24 d�cembre 2002 10:23
To: '[EMAIL PROTECTED]'
Subject: JDBC - TableName . FieldName
Hello !
En ce jour de r�veillon de No�l, je fais appel aux braves de la liste ;-)
Je suis en cours de test de migration d'une application JDBC MySQL vers SQLServer. Je vous passe bien entendu le plaisir �vident de trouver le driver JDBC pas cher et sympa... bref, je tombe sur un os.
J'ai pris comme habitude dans mes rs.getString () d'utiliser les noms complets (table+champs) pour acc�der � mes donn�es. Cela me permets d'�viter les soucis avec les nombreux JOIN de mes requ�tes.
Ainsi :
Query = � SELECT * FROM customer LEFT OUTER JOIN project ON customer.id_customer = project.id_customer �
Rs = stmt.executeQuery (Query);
Cust = Rs.getString ("customer.name");
Proj = Rs.getString ("project.name");
Cela fonctionne sous MySQL.
Maintenant, le code ci-dessus sous SQL Server me donne une erreur � Invalid column name �. En gros, interdiction d'utiliser le nom complet des champs.
Il y a �videmment la clause AS � placer dans la requ�te SQL pour �viter les soucis, mais cela ne fonctionne pas avec un SELECT *.
Quelqu'un aurait-il une id�e g�niale ?
Comment puis-je �viter de r��crire mon application quasiment de fond en comble ?
S�bastien Libert
SOGID.
