Problen d'insertion de données dans la bd

nah01 Messages postés 95 Statut Membre -  
nah01 Messages postés 95 Statut Membre -
Bonjour, je n'arrive pas à charger les données dans ma bd access via jdk. alors que je pense bien me connecter à elle mais lorsque je valide la requete de mise à jour, je tombe sur l'exception.
svp aider moi à comprendre ce qui cause cela . voilà mon code:

import java.io.*;
import java.sql.*;

public class test
{
public static void main (String[] args) {
String url = "jdbc:odbc:voiture";
Connection cnx=null;
try {
BufferedReader clavier=new BufferedReader(new InputStreamReader(System.in));
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//connexion a la bd
cnx = DriverManager.getConnection(url);
Statement stat= cnx.createStatement();
ResultSet resultat= stat.executeQuery("SELECT * from voiture");
while (resultat.next()) {
System.out.println(resultat.getString("Imatriculation")+" "+resultat.getString("marque")+ " "+resultat.getString("coupe"));
}
System.out.println("la connexion a la bd a reussi!!!");

//mise a jour de la bd
///////////////////////
// saisie des valeur

String I,m,c; //les variables de mise a jour

System.out.println("Entrer vos valeurs");
System.out.print(" l'matriculation :");
I = clavier.readLine();
System.out.print(" la marque :");
m = clavier.readLine();
System.out.print(" la coupe :");
c = clavier.readLine();

// creation de la requete d'insertion
Statement ins = cnx.createStatement();
int NbIns ;
NbIns = ins.executeUpdate("INSERT INTO voiture(Imatriculation,marque,coupe)VALUES(I,m,c)");
System.out.println(NbIns+" ligne insérée");
System.out.println("Insertion reussit!!!");
}
catch(Exception e) { System.out.println("Exception"); }
finally {
try {cnx.close();}
catch(SQLException e) {e.printStackTrace();}
}
}
}
A voir également:

4 réponses

Mins Messages postés 45 Statut Membre 9
 
Commence par séparer tes Try pour savoir où se situe l'erreur... Ca réduira déjà pas mal le champ...

(En déboguage s'entend, pas en prod :) )
0
nah01 Messages postés 95 Statut Membre 4
 
Salut Mins! merci dabors pour la proposition mais sauf que je ne comprend pas bien tes indications c.a.d comment séparé les try.
j'ai écris mon code en m'inspirant d'un exemple tiré d'un tutorial si tu veux bien m'aider à le faire

merci !!!
0
Mins Messages postés 45 Statut Membre 9
 
Me suis mal exprimé, pas grave...

Essaye d'abord de remplacer :

NbIns = ins.executeUpdate("INSERT INTO voiture(Imatriculation,marque,coupe)VALUES(I,m,c)");

par

NbIns = ins.executeUpdate("INSERT INTO voiture(Imatriculation,marque,coupe)VALUES('I','m','c')");

et sinon, si tu tombes toujours sur l'exception, essaye peut-être juste de remplacer

catch(Exception e) { System.out.println("Exception"); }

par

catch(Exception e) { System.out.println(e); }

pour savoir quelle exception tu obtiens.
0
nah01 Messages postés 95 Statut Membre 4
 
salut Mins j'avais déjà remplacé les values(I, m, c) par ('I', 'm','c') et dans ma base de données je retrouve
exactement : I, m, c et non les valeurs saisies dans mon éditeur. mais lorsque je saisie des valeurs du genre:
CE123 : pour l'immatriculation, Toyota: pour la marque ect..., ça prend. Tu comprend donc que se sera fastidieux de le faire à chaque fois bref il ne prend pas en compte mes valeur


merci encore de m'aider!!!
0
Mins Messages postés 45 Statut Membre 9 > nah01 Messages postés 95 Statut Membre
 
('"+I+"','"+m+"', '"+c+"')

arf... ^^
0
nah01 > Mins Messages postés 45 Statut Membre
 
Salut et merci à toi Mins je vais de ce pas essayé!
0
nah01 Messages postés 95 Statut Membre 4 > Mins Messages postés 45 Statut Membre
 
tank youuuuuuuuuu!!!!! c'est bon et a plus
0
biboo
 
Pour résumer, la syntaxe "try { } catch(Exception e);" permet d'executer un bloc d'instruction dans le try { .. } et de "catcher" (traduit par "attraper") une éventuelle erreur de type "Exception".
0