ODBC - Access - JAVA : probleme requete

cs_samouille666 Messages postés 12 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 11 décembre 2006 - 11 déc. 2006 à 23:17
hikari_do Messages postés 3 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 27 décembre 2006 - 27 déc. 2006 à 13:53
Bonjour à tous,
 





J’ai visité les
questionnements du forum et visiblement je m’y prends correctement pour exécuter
cette requête, qui ne fonctionne cependant pas. Voilà pourquoi je me permets de
poster ce code.





Mon lien ODBC
est un lien système sur une machine Win XP avec le driver Access classique :
« client ».





J’exécute la
requête ci-dessous sur une table adresse avec une clé primaire auto incrément
et que des champ texte pour le reste.





Le i affiché en
console est 1, donc d’après « lui », une ligne a été ajoutée. Le
problème est que l’enregistrement n’est pas visible dans ma table, en réalité
il n’est pas ajouté.





Le plus étrange,
est que lorsque j’essais d’exécuter ma requête dans l’éditeur d’Access (un
simple copier coller de mon SQL), celui-ci m’ajoute l’enregistrement sans
problème, ce qui m’en pose un.






           








 







try

{









                  Class.forName(
"sun.jdbc.odbc.JdbcOdbcDriver"
);









                  String DBurl =
"jdbc:odbc:client"
;









                  Connec
tion con =  DriverManager. getConnection (DBurl);









                 










                 

//ResultSet résultats = null;








String requete =
"insert into adresse (numero, rue, codePostal, ville)"
+









                 

" values ('666', 'DevilStreet', '66666',
'GarlicTown')"
;









           










                  Statement
stmt = con.createStatement();









                 


int

i =
stmt.executeUpdate(requete);









                 










                  System.

out

.println(i);









 







            }

catch


(Exception e) {









                  System.

out

.println(e.toString());









           

}






 






Voilà, si quelqu’un a une idée, je lui serais extrêmement
reconnaissant de m’en faire part parce que je désespère un peu.






 






Merci d’avance






 






sam





samouille666

4 réponses

kimung Messages postés 3 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 février 2008
12 déc. 2006 à 16:13
Bonjour Sam,

As-tu pensé à fermer ton statement et ta connexion?

Après cet ligne:
int i = stmt.executeUpdate(requete);


tu fais:
stmt.close();
con.close();


Après cela devrait fonctionner.
0
hikari_do Messages postés 3 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 27 décembre 2006
26 déc. 2006 à 23:36
c'est ton driverManager qui déconne tu a oublié d'initialisé le user et le mot de passe 
voila ce que tu dois ecrire
Connection con =   DriverManager. getConnection (DBurl,"","");
et voila la structure que tu dois toujours respecté
Connection con =  DriverManager.getConnection(ALIAS,USER,PASSWORD);
mais pour ton exemple dans user et password met seulment ""
ca devrais marché bon sinon je vient de lire un article sur les String pour leur optimisation je te refile le lien ca poura  te servir a prendre quelque bonnes habitudes http://gfx.developpez.com/tutoriel/java/strings/
sinon tes requete fonctionne parfaitement mais je vois pas a quoi peu te servir le int i
si ta un autre probleme demande peu etre que je peu t'aidé
bonne chance pour la suite

                

                
0
kimung Messages postés 3 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 février 2008
27 déc. 2006 à 12:03
Pour moi, le DriverManager ne "déconne" pas.

la méthode getConnection posséde 3 surcharges.

getConnection(String url)
getConnection(String url, String user, String password)
getConnection(String url, Properties properties)

il n'a pas besoin de passer user et password à "" si sa connexion ne nécessite ni user ni password. Je me trompe peut-être ^^.
Si quelqu'un à un avis sur la question.

bonne journée.
0
hikari_do Messages postés 3 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 27 décembre 2006
27 déc. 2006 à 13:53
ta raison je vient de tanté le truc ca marche meme sans le pass et user maintenant ca peu etre n'importe quoi comme par exemple une histoire de droit d'utilisateur sous windows ou n'importe quoi d'autre ca peu aussi etre access qui deconne ca arrive pourtant chez moi ton code marche parfaitement que ce sois sur une table avec une clé auto ou une clé normal
0
Rejoignez-nous