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

JDBC Java Discussion :

insert qui ne fonctionne pas


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 153
    Points : 68
    Points
    68
    Par défaut insert qui ne fonctionne pas
    salut a tous,

    g un bout de code tout simple mais je seche dessus car ca ne marche pas comme je veux.
    j'ai une fonction qui gere mes requetes SQL, le select fontionne tres bien, mais mon insert ne fonctionne pas et ne me retourne aucune erreur .

    code de la fonction
    classe db.java
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     public static String[] query(String query, String requete, String[] r) {
     
    		   if (query.equals("select")) {
    				  try {
    					  ResultSet result=statement.executeQuery(requete); 
    					  if (result.next()) {
    						r= new String[6];
    						int i = 0;
     
    		                while (i < 5) {
    		                    r[i] = result.getString(i + 1);
    		                    i++;
    		                }
     
    					}
    					  else{
     
     
    							JOptionPane jop1 ;
    							jop1 = new JOptionPane();
    							jop1.showMessageDialog(null, "Cet utilisateur n'existe pas", "Information", JOptionPane.INFORMATION_MESSAGE);
     
    						}
    					  if (query.equals("insert")) {
    						  int majj=statement.executeUpdate(requete);
    						  System.out.println(majj);
    					  }
     
    				  }	
     
    					catch (SQLException e) {
    					System.out.println("echec pilote : "+e);
    					e.printStackTrace();
    				}
    		   }
    		   return r;
     
     
    	   }
     
     
     
    	}
    parametrage de ma fonction
    classe main.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    String maj=("insert into info_user  values ('"+lastname+"','','','99')") ;
     
    					//-----------------------
    					//parametrer ma fonction
    					//------------------------------		
     
    						bdd.query("insert",maj,null);
    						System.out.println(maj);
    				}

  2. #2
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,
    tu testes si la valeur de la variable query est égale à "insert" à l'intérieur du premier if
    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
    public static String[] query(String query, String requete, String[] r) {
    	if (query.equals("select")) {
    		try {
    			......
                            //tu es ici dans le if de select, il faudra sortir ces lignes du if
    			if (query.equals("insert")) {
    				int majj=statement.executeUpdate(requete);
    				System.out.println(majj);
    			}
    		}	
    
    		catch (SQLException e) {
    			System.out.println("echec pilote : "+e);
    			e.printStackTrace();
    		}
    	}
    	return r;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (query.equals("select")) {
        .....
    } else if (query.equals("insert")) {
        .....
    }

  3. #3
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 153
    Points : 68
    Points
    68
    Par défaut
    Citation Envoyé par herch Voir le message
    salut,
    tu testes si la valeur de la variable query est égale à "insert" à l'intérieur du premier if
    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
    public static String[] query(String query, String requete, String[] r) {
    	if (query.equals("select")) {
    		try {
    			......
                            //tu es ici dans le if de select, il faudra sortir ces lignes du if
    			if (query.equals("insert")) {
    				int majj=statement.executeUpdate(requete);
    				System.out.println(majj);
    			}
    		}	
    
    		catch (SQLException e) {
    			System.out.println("echec pilote : "+e);
    			e.printStackTrace();
    		}
    	}
    	return r;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (query.equals("select")) {
        .....
    } else if (query.equals("insert")) {
        .....
    }
    c'est fait, mnt j 'obtiens ce message d'erreur

    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
    Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
    actionPerformed()
    	at bdd.query(bdd.java:112)
    	at main$2.actionPerformed(main.java:298)
    	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)

  4. #4
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,
    tu pourrais montrer les lignes qui apparaissent dans l'exception
    at bdd.query(bdd.java:112)
    at main$2.actionPerformed(main.java:298)
    et aussi les valeurs que tu passes dans le main lors de l'appel de la méthode query

  5. #5
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 153
    Points : 68
    Points
    68
    Par défaut
    Citation Envoyé par herch Voir le message
    salut,
    tu pourrais montrer les lignes qui apparaissent dans l'exception

    et aussi les valeurs que tu passes dans le main lors de l'appel de la méthode query
    bdd.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    statement.executeUpdate(requete);
    main.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bdd.query("insert",maj,null);

  6. #6
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,
    tu pourrais faire toute la méthode query??

  7. #7
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 153
    Points : 68
    Points
    68
    Par défaut
    Citation Envoyé par herch Voir le message
    salut,
    tu pourrais faire toute la méthode query??

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     public static String[] query(String query, String requete, String[] r) {
     
    		   if (query.equals("select")) {
    				  try {
    					  ResultSet result=statement.executeQuery(requete); 
    					  if (result.next()) {
    						r= new String[6];
    						int i = 0;
     
    		                while (i < 5) {
    		                    r[i] = result.getString(i + 1);
    		                    i++;
    		                }
     
    					}
    					  else{
     
     
    							JOptionPane jop1 ;
    							jop1 = new JOptionPane();
    							jop1.showMessageDialog(null, "Cet utilisateur n'existe pas", "Information", JOptionPane.INFORMATION_MESSAGE);
     
    						}
    					  if (query.equals("insert")) {
    						  int majj=statement.executeUpdate(requete);
    						  System.out.println(majj);
    					  }
     
    				  }	
     
    					catch (SQLException e) {
    					System.out.println("echec pilote : "+e);
    					e.printStackTrace();
    				}
    		   }
    		   return r;
     
     
    	   }
     
     
     
    	}

  8. #8
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 153
    Points : 68
    Points
    68
    Par défaut
    une idee

  9. #9
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    ben l'objet que tu utilises ligne 112 dans bdd.java est null. Es tu sûr de l'avoir correctement initialisé ?

    Ton object "statement" si j'ai bien compris...

    D'ailleurs pourquoi ne pas restreindre sa portée à la méthode "query" plutôt que de le mettre au niveau de la classe ?
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

Discussions similaires

  1. Requête insert qui ne fonctionne pas .
    Par Pioul dans le forum VBA Access
    Réponses: 7
    Dernier message: 21/05/2008, 12h28
  2. Bulk Insert qui ne fonctionne pas
    Par genio dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 01/11/2007, 01h13
  3. [MySQL] INSERT qui ne fonctionne pas
    Par djudjublondin dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/08/2007, 19h46
  4. [ODBC] une requete d'insertion qui ne fonctionne pas
    Par boulhous dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/05/2006, 13h56
  5. Insert qui ne fonctionne pas
    Par Nyrianne dans le forum Outils
    Réponses: 7
    Dernier message: 09/01/2006, 17h50

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