Base de donnees+suppression

Fermé
nina_fa Messages postés 38 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 7 septembre 2008 - 29 déc. 2007 à 20:18
nina_fa Messages postés 38 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 7 septembre 2008 - 31 déc. 2007 à 22:52
Bonjour,
comment supprimer un enregistrement d'une base de donnees access a partir d'un programme java j'ai essaye et ca marche pas!voisi mon code
String Num =jTextField1.getText() ;
String url = "jdbc:odbc:source";
Connection con = null;



try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url,"","");

Statement requete = con.createStatement();
requete.executeUpdate("DELETE FROM Table1 WHERE num='"+Num+"'");
}
catch(Exception evt){
System.out.println("exception du a la requete");
}

12 réponses

pascal.barbier
29 déc. 2007 à 21:25
Comment as tu configuré le DSN "source" ?
N'est-il pas en lecture seule ?
Les insertions fonctionnent-elles (insert into ...) ?
0
nina_fa Messages postés 38 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 7 septembre 2008
30 déc. 2007 à 12:11
bonjour
les ajout fonctionnent mais la suppression non ma base est creer en access et j'ai fait le lien en outil administrateur de panneau de configuration.
0
pascal.barbier
30 déc. 2007 à 14:15
Bien
Si les insertions fonctionnent, la chaîne de connexion est correctement paramétrée.
Le problème ne peut donc provenir que de la syntaxe de la requête SQL.
Quel est le message ODBC remonté dans l'exception ?
Tu peux activer la trace ODBC (depuis le panneau de configuration) pour obtenir plus d'infos sur les échanges SQL.
Vérifie que le type de la colonne num est bien numérique et que la valeur de Num est correcte.
0
nina_fa Messages postés 38 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 7 septembre 2008
30 déc. 2007 à 14:29
j'ai verifier le type est numerique l'erreur et la suivante
[Microsoft][Pilote ODBC Microsoft Access] Type de données incompatible dans l'expression du critère.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pascal.barbier Messages postés 33 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 7 décembre 2008 6
30 déc. 2007 à 14:36
J'ai trouvé :
Je n'avais pas vu les apostrophes à côté des guillemets dans la chaîne de requête.

Puisque le type de données est numérique, il ne faut pas mettre d'apostrophes autour de la valeur Num (les apostrophes sont utilisées pour les colonnes alpha et date).

Bonnes fêtes
0
nina_fa Messages postés 38 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 7 septembre 2008
30 déc. 2007 à 14:43
mois aussi j'ai trouvé par la recherche dans google et j'ai essaye et ca marche.merci pour ton aide pascale.bonnes fêtes a toi aussi.
0
nina_fa Messages postés 38 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 7 septembre 2008
30 déc. 2007 à 15:54
j'ai un autre probleme la recherche par num et les autre resultats s'affiche dans des textfield
String Num =jTextField1.getText() ;
String url = "jdbc:odbc:source";
Connection con = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url,"","");


Statement requete = con.createStatement();
ResultSet rs = requete.executeQuery("SELECT nom,prenom,date_naiss,paye FROM Table1 WHERE num="+Num+";" );
jTextField2.setText(rs.getString("nom"));
jTextField3.setText(rs.getString("prenom"));
jTextField4.setText(rs.getString("date_naiss"));
jTextField5.setText(rs.getString("paye"));
l'erreur est [Microsoft][Gestionnaire de pilotes ODBC] État de curseur non valide
0
pascal.barbier Messages postés 33 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 7 décembre 2008 6
30 déc. 2007 à 18:00
Avant de lire les champs retournés par la requête, il faut d'abord faire un rs.next()

PS : le point virgule n'est pas nécessaire à la fin du SELECT
0
nina_fa Messages postés 38 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 7 septembre 2008
30 déc. 2007 à 18:28
merci; ca marche mais le dernier text field vide et l'erreur (Column not found)
0
nina_fa Messages postés 38 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 7 septembre 2008
30 déc. 2007 à 18:43
non ca marche .pour faire un test si le personne rechercher n'existe pas et afficher une message d'erreur j'ai essaye cette instruction et une erreur s'affiche[Microsoft][Gestionnaire de pilotes ODBC] État de curseur non valide
String Num =jTextField1.getText() ;
String url = "jdbc:odbc:source";
Connection con = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url,"","");


Statement requete = con.createStatement();
ResultSet rs = requete.executeQuery("SELECT nom,prenom,date_naiss,paye FROM Table1 WHERE num="+Num+";" );
rs.next();
if (rs != null){

jTextField2.setText(rs.getString("nom"));
jTextField3.setText(rs.getString("prenom"));
jTextField4.setText(rs.getString("date_naiss"));
jTextField5.setText(rs.getString("paye")); }
else{ JOptionPane.showMessageDialog(this, "l'employe rechercher n'existe pas ");}
0
nina_fa Messages postés 38 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 7 septembre 2008
31 déc. 2007 à 11:05
bonjour ,j'attent ton aide pascal.barbier.merci
0
nina_fa Messages postés 38 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 7 septembre 2008
31 déc. 2007 à 22:52
vous pouvez m'aider pour resoudre mon probleme d'ecrit au haut, pour tester si la requete select retourne rien et afficher message d'erreur.merci
0