Base de donnees+suppression

nina_fa Messages postés 38 Statut Membre -  
nina_fa Messages postés 38 Statut Membre -
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
 
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 Statut Membre
 
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
 
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 Statut Membre
 
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 34 Statut Membre 6
 
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 Statut Membre
 
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 Statut Membre
 
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 34 Statut Membre 6
 
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 Statut Membre
 
merci; ca marche mais le dernier text field vide et l'erreur (Column not found)
0
nina_fa Messages postés 38 Statut Membre
 
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 Statut Membre
 
bonjour ,j'attent ton aide pascal.barbier.merci
0
nina_fa Messages postés 38 Statut Membre
 
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