Problen d'insertion de données dans la bd
nah01
Messages postés
95
Statut
Membre
-
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();}
}
}
}
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:
- Problen d'insertion de données dans la bd
- Fuite données maif - Guide
- Touche insertion clavier - Guide
- Insertion video powerpoint - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
4 réponses
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 :) )
(En déboguage s'entend, pas en prod :) )
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 !!!
j'ai écris mon code en m'inspirant d'un exemple tiré d'un tutorial si tu veux bien m'aider à le faire
merci !!!
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.
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.
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!!!
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!!!