[Resolu] JDBC => Requete SQL (Delete)

JDBC => Requete SQL (Delete) [Resolu] - Java - Programmation

Marsh Posté le 13-01-2005 à 15:25:00    

Bonjour,
j'ai une table (créée avec Access) comportant de nombreuses informations (Nom, Prenom, Adresse etc... => Nom et Prenom = clés)
 
Cette table communique avec mon prog Java par l'intermédiaire de   JDBC - ODBC
Je veux supprimer un enregistrement de la table...j'ai donc utiliser DELETE  :ouch:  
comme ceci :

Code :
  1. DELETE * FROM Personnes
  2.       WHERE Nom='Martin' AND Prenom='Henri'

Il me met une erreur me disant qu'il manque un paramètre...
 
Quelqu'un pourrait il m'aider ?
Merci d'avance... :bounce:


Message édité par niouts le 13-01-2005 à 17:40:11
Reply

Marsh Posté le 13-01-2005 à 15:25:00   

Reply

Marsh Posté le 13-01-2005 à 15:33:30    

y a pas de '*' dans la clause delete


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 13-01-2005 à 15:37:57    

Citation :

y a pas de '*' dans la clause delete

OK...
J'ai essayé mais la même erreur apparait  

Citation :

Trop Peu de Paramètres. 1 Attendu


Une autre Erreur / Solution ? :bounce:

Reply

Marsh Posté le 13-01-2005 à 15:42:36    

donne le message d'erreur ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 13-01-2005 à 15:54:31    

Alors voilà mon code (ça peut servir...)

Code :
  1. Modif_Table dans Base.java
  2. try { Statement stmt = Connexion.createStatement();
  3.       int nbMaj = stmt.executeUpdate("DELETE FROM Personnes WHERE Nom='Martin' AND Prenom='Henri'" );
  4.     } catch (SQLException e) {
  5.               e.printStackTrace();
  6.               }
  7. }

et voilà l'erreur (longue) associée au clic sur un Bouton...
 

Citation :

java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Trop peu de parametres. 1 attendu.
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
        at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
        at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
        at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:
288)
        at Adresso.Base.Modif_Table(Base.java:61)
        at Adresso.GestionAlpha.actionPerformed(GestionAlpha.java:834)
        at java.awt.Button.processActionEvent(Button.java:382)
        at java.awt.Button.processEvent(Button.java:350)
        at java.awt.Component.dispatchEventImpl(Component.java:3615)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
 
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
 
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
erreur

Si ca peut aider quelqu'un... :bounce:


Message édité par niouts le 13-01-2005 à 15:55:25
Reply

Marsh Posté le 13-01-2005 à 16:15:01    

je suis rouillé en sql, mais je pense pas qu'il y ait d'erreur de syntaxe ... essaye d'executer la requête dans access pour voir ce que ca dit ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 13-01-2005 à 16:32:08    

faut pas préciser un schéma sur la table ? (au pif)

Reply

Marsh Posté le 13-01-2005 à 16:35:47    

benou a écrit :

je suis rouillé en sql, mais je pense pas qu'il y ait d'erreur de syntaxe


Je confirme...:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-01-2005 à 16:43:31    

Citation :

essaye d'executer la requête dans access pour voir ce que ca dit ...

Aucune Erreur dans Access...
 

Citation :

faut pas préciser un schéma sur la table ? (au pif)

:heink:  
 

Citation :

Je confirme...:o

Pourquoi tu confirmes qu'il est rouillé?? Ya une Erreur ?  :bounce:  

Reply

Marsh Posté le 13-01-2005 à 16:44:58    

niouts a écrit :


Citation :

Je confirme...:o

Pourquoi tu confirmes qu'il est rouillé?? Ya une Erreur ?  :bounce:


Non, je confirme que c'est la bonne syntaxe...[:joce]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-01-2005 à 16:44:58   

Reply

Marsh Posté le 13-01-2005 à 16:46:14    

Autant pour moi :bounce:

Reply

Marsh Posté le 13-01-2005 à 17:08:30    

J'ai trouvé le problème !  
Je suis vraiment désolé, ce n'était pas un problème de codes puisqu'en fait j'avais oublié un ' ... J'explique, pur simplifier l'explication j'avais dit que mon requete était :

Code :
  1. DELETE * FROM Personnes 
  2.       WHERE Nom='Martin' AND Prenom='Henri'

Mais en fait il ressemblait plutot à ca :
(attention c'est vulgaire, tout n'est pas détaillé  :whistle: )

Code :
  1. DELETE * FROM Personnes 
  2.       WHERE Nom='"+P.Nom+" AND Prenom='"+P.Prenom+"'"


 
Et donc il manque bien une ' et l' * est de trop !

Code :
  1. DELETE FROM Personnes 
  2.       WHERE Nom='"+P.Nom+"' AND Prenom='"+P.Prenom+"'"

Merci beaucoup de votre aide et encore désolé ! :bounce:  :hello:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed