Affichage d'une BDD mysql avec JCreator

emimene Messages postés 31 Date d'inscription samedi 24 octobre 2009 Statut Membre Dernière intervention 22 mars 2012 - 4 janv. 2012 à 11:15
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 2 févr. 2012 à 09:37
Bonjour à tous, je suis débutante en java, j'ai besoin de faire une application d'affichage des enregistrements sur une base de données.

Tout d'abord, je liste ici quelques détails concernant les outils utilisés.
1 - Je dévellope en java avec JCreator, version 3
2 - Pour la base de donnée j'utilise Mysql de phpMyAdmin
3 - Ma base de données contient une seule table
4 - Je suis sur Windows7
5 - J'ai téléchargé le jar: mysql-connector-java-5.0.8 et je l'ai ajouté dans:
C:\Program Files (x86)\Java\jre6\lib\mysql-connector-java-5.0.8

j'ai créer la base de donnée et je veux écrire un code en java permettant de se connecter à cette base de données. Est se que vous pouvez m'aider à commencer avec JCreator?

32 réponses

Eldius Messages postés 3 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 23 janvier 2012
21 janv. 2012 à 01:41
:x rho la misère ^^ c'est bon j'ai trouve réponse à mon problème qui était encore autre que le tien finalement :\ .. pour le tien logiquement c'est tout simple:

pour reprendre ton code actuel si j'ai bien suivi :
1/ String str="INSERT INTO `fiche` (nom,....) VALUES ('"+Nom.getText()+"',...')";
2/ System.out.println ( nom+" "+.....+); sachant que nom=Prenom.getText();
3/ Statement stm = con.createStatement() ;

Change ta première étape en enlevant les `` pour le nom de ta table .. effet garanti :p

String str="INSERT INTO fiche (nom,....) VALUES ('"+Nom.getText()+"',...')";

Bonne continuation
0
emimene Messages postés 31 Date d'inscription samedi 24 octobre 2009 Statut Membre Dernière intervention 22 mars 2012 1
23 janv. 2012 à 13:15
salut Elduis
j'ai enlevé les `` et sa marche pas je ne peux pas insérer depuis mon code
si j'insère dans ma BDD >> j'effectue toutes les requêtes sql sauf un autre insert (apres modification parexemple)
0
Eldius Messages postés 3 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 23 janvier 2012
23 janv. 2012 à 14:57
curieux .. :x perso ça marche bien maintenant :o

dans ta requete INSERT INTO dans les VALUES ta bien les chaines de caractères entre '' et les valeur numérique sans rien ?

Exemple de requête qui marche :

"INSERT INTO fiche (nom, prenom, age) " +
"values ('"+nom+"', '"+prenom+"', "+age+")";
0
emimene Messages postés 31 Date d'inscription samedi 24 octobre 2009 Statut Membre Dernière intervention 22 mars 2012 1
1 févr. 2012 à 11:16
Resalut,
j'ai pu inserer dans ma table, par l’insertion de chaque "colomne/sa valeur"

Statement stm = con.createStatement() ;
String str= "INSERT INTO fiche_permis (NumPermis) VALUES ('"+nump+"')";
str= "INSERT INTO fiche_permis (Nom) VALUES ('"+nom+"')";
str= "INSERT INTO fiche_permis (Prenom) VALUES ('"+prenom+"')";
.
.
stm.executeUpdate(str);

mais dans ma table fiche_permis je ne trouve que la derniere colomne enregistrée, donc il prends en consideration que la derniere requette str..

j'ai essayé de donner des nom differents pour les requettes et les executer dans l'ordre
ça s'enregistre mais dans plusieurs lignes

Statement stm = con.createStatement() ;
String str1= "INSERT INTO fiche_permis (NumPermis) VALUES ('"+nump+"')";
str2= "INSERT INTO fiche_permis (Nom) VALUES ('"+nom+"')";
str3= "INSERT INTO fiche_permis (Prenom) VALUES ('"+prenom+"')";
.
.
stm.executeUpdate(str1);stm.executeUpdate(str2);stm.executeUpdate(str3);....
0

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

Posez votre question
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
1 févr. 2012 à 11:40
C'est normal, soit tu fais une seule requete en mettant plusieurs valeurs soit les autres requetes doivent être des update. Je te conseil plutot de faire ca :

String str1= "INSERT INTO fiche_permis (NumPermis, Nom, Prenom) VALUES ('"+nump+"', '"+nom+"', '"+prenom+"')";
0
emimene Messages postés 31 Date d'inscription samedi 24 octobre 2009 Statut Membre Dernière intervention 22 mars 2012 1
1 févr. 2012 à 11:59
merci bcp le probleme est résolue il faut se concentrer bien avec les virgules
0
emimene Messages postés 31 Date d'inscription samedi 24 octobre 2009 Statut Membre Dernière intervention 22 mars 2012 1
1 févr. 2012 à 14:28
j'ai ajouter un boutton de suppression mais il ya le message d'erreur:
Null Pointer Exception
bSupp.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent se) {
if(tb.getSelectedRow()==-1)
{
 JOptionPane.showConfirmDialog(sp,"VEUILLEZ D\'ABORD SELECTIONNER\nUNE FICHE SVP !",
"SELECTION NULLE",JOptionPane.OK_CANCEL_OPTION);
}else {
String rSup="DELETE FROM fiche_permis WHERE ID=?";
PreparedStatement stSup;
Connection cnx;

try {
cnx=new Jdbc().conn;
stSup=cnx.prepareStatement(rSup);
String val;
val=tb.getValueAt(tb.getSelectedRow(),0).toString();

if(JOptionPane.showConfirmDialog(sp,"VOULEZ-VOUS VRAIMENT SUPPRIMER LA FICHE SELECTIONNEE ?",
"CONFIRMATION",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION)
{
stSup.setInt(1,Integer.parseInt(val));

stSup.executeUpdate();
/*tb.setModel(database);
tb.repaint();*/
}

System.out.println("valeur renvoyée :"+val);

} catch (Exception r) { r.printStackTrace();
}


}
}
});
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
1 févr. 2012 à 14:32
Tu n'as pas initialisé stSup :

stSup = cnx.prepareStatement(requete);

Je te consiel de lire la doc sur les preparedStatement, tu n'as pas l'air très au clair : http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html
0
emimene Messages postés 31 Date d'inscription samedi 24 octobre 2009 Statut Membre Dernière intervention 22 mars 2012 1
1 févr. 2012 à 15:00
j'ai initialisé regarde
bSupp.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent se) {
if(tb.getSelectedRow()==-1)
{
 JOptionPane.showConfirmDialog(sp,"VEUILLEZ D\'ABORD SELECTIONNER\nUNE FICHE SVP !",
"SELECTION NULLE",JOptionPane.OK_CANCEL_OPTION);
}else {
String rSup="DELETE FROM fiche_permis WHERE ID=?";
PreparedStatement stSup;
Connection cnx;

try {
cnx=new Jdbc().conn;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>stSup=cnx.prepareStatement(rSup);
String val;
val=tb.getValueAt(tb.getSelectedRow(),0).toString();

if(JOptionPane.showConfirmDialog(sp,"VOULEZ-VOUS VRAIMENT SUPPRIMER LA FICHE SELECTIONNEE ?",
"CONFIRMATION",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION)
{
stSup.setInt(1,Integer.parseInt(val));

stSup.executeUpdate();
/*tb.setModel(database);
tb.repaint();*/
}

System.out.println("valeur renvoyée :"+val);

} catch (Exception r) { r.printStackTrace();
}


}
}
});
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
1 févr. 2012 à 15:04
Oui, en effet, désolé.

Et sur quelle ligne l'erreur est elle signalée ? Peux tu me donner la trace ?
0
emimene Messages postés 31 Date d'inscription samedi 24 octobre 2009 Statut Membre Dernière intervention 22 mars 2012 1
2 févr. 2012 à 09:33
c'est bon Julien39 j''ai réglé le problème cétait un problème de connexion avec jdbc
maintenant je viens de découvrir un nouveau problème, lors l insertion des caractères en arabe dans les JTextfield je les trouves en ?????? dans ma table
malgrés que j'ai choisis utf8_general_ci comme type d interclassement,
quand j'insere des enregistrements en arabes dans la BDD je peux les afficher dans un tableau via mon application mais le contraire non!!!!
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
2 févr. 2012 à 09:37
Bonjour,

Cette question est bien différente des précédentes. Je te conseil d'ouvrir un nouveau sujet.

Pour ma part, je ne sais pas comment faire pour gérer les caractères arabes.

Bon courage

a+
0
Rejoignez-nous