Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4425 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JAVA+ACCESS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JAVA+ACCESS

n°710153
frere tuck
Posté le 27-04-2004 à 19:19:27  profilanswer
 

Ja voudrai interfacer une base de données access par une interface en java, hors je suis débutant donc je vous réclame un peu d'indulgence quant à ma nullité en JAVA.
 
Je voudrai faire une requete d'insertion de données dans Access seulement pour cela je stocke mes valeur à insérer dans un objet de type vector (que je caste avec du string) et tout simplement je ne vois aucun moyen d'envoyer des données de type entier dans la base de données.
A chaque fois ça m'affiche un message d'erreur comme quoi les types de données sont incompatibles.
 
Donc ma question est la suivante : comment envoyer des données de type entier dans une base de données access ???
 
je vous joint mon code en espérant que cela vous éclaire car je suis conscient que mon problème est mal expliqué.
 
Au pire des cas sinon si vous avez un lien sur un tutorial JAVA + Access cela pourrait déjà m'aider...
 

Code :
  1. public void ajoutDonnee()
  2.      {
  3.            //Recuperation des donnees liste deroulante
  4.            int num = ListeE.getSelectedIndex();
  5.            //On récupere les donnees du formulaire
  6.            String sNom = Nom.getText();
  7.            String sPrenom = Prenom.getText();
  8.            String sTel = Tel.getText();
  9.            String sFonction = Fonction.getText();
  10.            //int n = Integer.valueOf((String) Snom.elementAt(num)).intValue();
  11.            //driver de connexion a la base de donnees
  12.            String data = "jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb); DBQ=D:/MesDocuments/JAVAIIE/ProjetJAVAIIE/JAVA.mdb;";
  13.            try{
  14.              //connexion a la base de donnees
  15.              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
  16.              Connection con = DriverManager.getConnection(data,"","" );
  17.              Statement st = con.createStatement();
  18.              //String maj2 = "SELECT numet FROM ETABLISSEMENT where nomet='"+(String) Snom.elementAt(num)+"')";
  19.              //definition et execution de requete d insertion
  20.              String maj = "INSERT INTO CONTACT (nom, prenom, tel, fonction, numet) VALUES ('"+sNom+"','"+sPrenom+"','"+sTel+"','"+sFonction+"')";
  21.              st.executeUpdate(maj);
  22.            }
  23.            catch (Exception e){System.out.println("erreur :" +e.toString());}
  24.      }


 
merci d'avance

mood
Publicité
Posté le 27-04-2004 à 19:19:27  profilanswer
 

n°710475
swgreedo
Posté le 28-04-2004 à 10:08:41  profilanswer
 

Salut,
Voici quelques pistes :
 - Puisque ton vecteur contient des Strings et que tu fabriques une requête SQL sous forme de String, tu n'as meme pas besoin de faire de conversion... Tu peux te contenter de récupérer la valeur dans ton vecteur comme un String et ajouter celui-ci dans ta requête...
 - De manière générale, pour éviter les problèmes de types de données, je te recommande d'utiliser un PreparedStatement plutôt qu'un Statement classique. Pour résumer, un PreparedStatement se construit avec une requête ou toutes les valeurs sont remplacées par des "?". Ensuite tu dois spécifier chaque valeur avec les méthodes setString(), setInteger(), etc. Cela t'évite d'avoir à gérer toi meme la correspondance entre types de données java et syntaxe SQL (qui t'oblige par exemple a mettre des apostrophes pour les chaînes de caractères).

n°710614
frere tuck
Posté le 28-04-2004 à 11:29:24  profilanswer
 

Merci pour la réponse en fait j'ai trouvé la solution dans la nuit, je la posterai un peus plus tard (je suis au boulot), sinon ma solution est différente mais je vais essayer la tienne qui me semble appropriée sur bien des points  
 
@+

n°710929
swgreedo
Posté le 28-04-2004 à 14:42:22  profilanswer
 

OK, content que tu aies trouvé.
Si tu as des questions n'hésite pas  :hello:  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JAVA+ACCESS

 

Sujets relatifs
[Java] Collections.synchronizedList[JAVA ]utilisation de la classe Vector
[java] problème avec la précision des nombres réelsimporter des données excel depuis access ???
[Java] Comment faire un splash screen ?[Java] Boite de dialogue standard
Java et BDD accessbase Access et Java grrrrrrrrrrrr
[JAVA] Accéder à une base MS Access (ou SQL Server)[java] access denied (java.net.SocketPermission xxxx.org resolve)
Plus de sujets relatifs à : JAVA+ACCESS


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)