kabi14
Messages postés50Date d'inscriptionvendredi 8 avril 2011StatutMembreDernière intervention28 juin 2011
-
18 janv. 2010 à 21:38
kabi14
Messages postés50Date d'inscriptionvendredi 8 avril 2011StatutMembreDernière intervention28 juin 2011
-
19 janv. 2010 à 09:35
bonjour a vous tous je souhaite suprimer une donnè de ma BD sql mais ca marche pas meme si la requet et just "j estime"
Description lorsque je click sur le bouton qui me permettant de suprimer rien ne ce passe et il ma fiche une erreur au niveau de netbeans :
erreur : S1009
je trouve au qu une fote au niveua de ma requet mon probleme c est qu il ne pase pas a la ligne de la requet
ResultSet req = set.executeQuery("DELETE from client where id_client= "+ num + "");
pour executer la requet
merci de me repondre...
c est mon code
import com.mysql.jdbc.*;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class modi extends javax.swing.JFrame {
if(ppp.getText().isEmpty()){
JOptionPane.showMessageDialog(this, "Veuillez entrer le information du client !");
}
else{
try
{
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost/java";
String user ="root";
String pass="";
Connection cnx = (Connection) DriverManager.getConnection(url, user, pass);
Statement set= (Statement) cnx.createStatement();
String num = ppp.getText();
ResultSet req = set.executeQuery("DELETE from client where id_client= "+ num + "");
JOptionPane.showMessageDialog(this, "le client a ete suprimer");
req.close();
set.close();
}
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 18 janv. 2010 à 22:09
Salut,
Bon c'est un peu mieux niveau langage sms, c'est déjà cà.
Tu as essayé ce que je t'ai dit dans ton post précédent ? Utiliser la fonction execute en lieu et place de la fonction executeQuery ?
______________________________________
DarK Sidious
kabi14
Messages postés50Date d'inscriptionvendredi 8 avril 2011StatutMembreDernière intervention28 juin 2011 18 janv. 2010 à 22:20
non j ai dejat essayé ce que je tu ma dit dans ton post p arécédent
mais ca marche pas c est j utilise un execute au lieu de la fonction executeQuery il n acept pas la ligne:
ResultSet req = set.executeQuery("DELETE from client where id_client= "+ num + "");
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 18 janv. 2010 à 22:25
Salut,
Non mais essaye de comprendre un peu ce que tu fais... regarde la signature de la fonction : elle renvoie un boolean et pas un Resultset (quel intérêt de récupèrer un resultset d'une suppression ???).
Donc il ne suffit pas de juste modifier le nom de la fonction utilisée : il faut également modifier le type de retour.
______________________________________
DarK Sidious
kabi14
Messages postés50Date d'inscriptionvendredi 8 avril 2011StatutMembreDernière intervention28 juin 2011 18 janv. 2010 à 22:36
merci de me repondre DARKSIDIOUS
oui c est vrè j ai esayè de changer ResultSet en mettant string par exemple mais ca marech pas aussi
j arrive pas a le faire tous sauver moi svp si tu peut le fair
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
kabi14
Messages postés50Date d'inscriptionvendredi 8 avril 2011StatutMembreDernière intervention28 juin 2011 18 janv. 2010 à 23:05
un grand merci au fond de mon coeur pour votr repense DARKSIDIOUS
ca marche mais
j ai un autr problme au niveau de l updat je vias pratiquer les meme regle sur lui s il march je vous le dit si non ....
kabi14
Messages postés50Date d'inscriptionvendredi 8 avril 2011StatutMembreDernière intervention28 juin 2011 18 janv. 2010 à 23:31
Salut,
encors une fois pour modifier un seul champ ca marche exemple let id_client mais ci je veut modifier tous les champs a la fois par une seul requet ca march pas c est ma requet ;
int nm=Integer.parseInt(ppp.getText());
String nom = pp.getText();
int tel = Integer.parseInt(p.getText());
Boolean req = st.execute("Update client SET (id_client="+nm+",nom=="+nom+",tel="+tel+") where id_client= "+ num +"");
if (!req) {
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 19 janv. 2010 à 07:35
Salut,
Il doit très certainement te manquer des apostrophes dans ta requêtes (je vois mal un nom être enregistré sous forme d'entier dans ta base) : c'est la base du SQL : les textes doivent être encadrés par des apostrophes :
st.execute("Update client SET (id_client="+nm+",nom='"+nom+"',tel="+tel+") where id_client= "+ num +"");
Et si ton champ tel est un champ texte, il faut faire de même pour lui
______________________________________
DarK Sidious
kabi14
Messages postés50Date d'inscriptionvendredi 8 avril 2011StatutMembreDernière intervention28 juin 2011 19 janv. 2010 à 09:35
bon jour
merci ,sayè j ai trouver une solution au problème c est niveau de la requête
c est la solution :
Boolean req = st.execute("Update client SET id_client="+nm+",nom='"+nom+"',tel="+tel+" where id_client= "+ num);
merci
mais je veut aussi utiliser le num c est la zone texte dans jfram1 que a travers elle je recéper la donnée "id_client" a modifier dans un notre jfarm2 et j arrive pas ale faire
j ai déclarer cette zone entant que public et static dans jfram1 mais je sais plus coment le racuper dans jfarm2