IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Problème d'insertion dans une base avec Java


Sujet :

Interfaces Graphiques en Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Problème d'insertion dans une base avec Java
    Bonjour tout le monde je veut inserer des donnees dans ma base avec une interface graphique en java. mais la sa me donne plein d'exception.
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    public void ajou_Livr(){
     
    			Connection con=null;
    			Statement state;
    			String requete;
    			String urlmysql;
    			try {
    				// chargement du pilote
    				Class.forName("com.mysql.jdbc.Driver");
    	        // définition de l'url
    	    	urlmysql="jdbc:mysql://127.0.0.1:3306/gestion_bibliotheque";
    	    	// etablissement de la connexion
    	    	 con = DriverManager.getConnection(urlmysql,"root","");
    	    	 // création d'une instruction
    				requete = "INSERT INTO livre(Id, titre, auteur, Quantite) VALUES(’"+getIdLivr()+"’ , ’"+getTitre()+"’ , ’"+getAuteur()+"' , "+getQuantite()+")";
    				state = con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
    				state.executeUpdate(requete);
    				state.close();
    				}
    				catch (SQLException e){
    				/*JOptionPane.showMessageDialog(null, "Ajout non effectué."
    				+ " Ce code client existe déjà.",
    				"Vérifiez votre saisie", JOptionPane.ERROR_MESSAGE);*/
    					e.printStackTrace();
    				} catch (ClassNotFoundException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    ET VOICI LES EXCEPTIONS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Erreur de syntaxe près de '' , 2)' à la ligne 1
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2934)
    	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1616)
    	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1708)
    	at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
    	at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1350)
    	at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1266)

  2. #2
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    peux-tu faire un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(requete)(
    et nous ce qu´il ya dedans.
    et aussi comment tu as defini ta table livre?


    Eric

  3. #3
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Salut,

    Tu devrais utiliser un PreparedStatement pour exécuter ta requête, ça permet entre autre d'éviter ce genre d'erreur de syntaxe.

    Ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    PreparedStatement ps = con.prepareStatement("INSERT INTO livre(Id, titre, auteur, Quantite) VALUES (?,?,?,?)");
     
    ps.setInt( 1, getIdLivr() );
    ps.setString( 2, getTitre() );
    ps.setString( 3, getAuteur() );
    ps.setInt( 4, getQuantite() );
     
    ps.execute();
    Chaque ? représente un paramètre que tu renseignes avec les méthodes setXXX() où XXX représente le type de ta donnée et le chiffre représente la position du paramètre dans ta requête.

Discussions similaires

  1. problème d'insertion dans une base SQL Server 2000 Via un trigger
    Par Alexandre_g dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/04/2009, 15h30
  2. problème d'insertion dans une base MySql
    Par cerco1 dans le forum JDBC
    Réponses: 13
    Dernier message: 01/10/2007, 20h40
  3. problème d'insertion dans une base
    Par wiss20000 dans le forum JDBC
    Réponses: 13
    Dernier message: 05/03/2007, 11h02
  4. Problème d'insertion dans une base de donnèes
    Par atout dans le forum Administration
    Réponses: 14
    Dernier message: 27/12/2006, 07h07
  5. problème d'insertion dans une base de données
    Par belmansour tidjani dans le forum JDBC
    Réponses: 7
    Dernier message: 18/01/2006, 22h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo