Projet Java

soutami91 - 27 août 2012 à 17:46
 soutami91 - 3 sept. 2012 à 15:56
Bonjour je suis pas très à l'aise avec Java donc j'aurai besoin de votre aide. Bon j'ai fait un programme java qui utilise une base de données MySQL et j'aimerais ajouter une ligne a ma BD à partir d'une JTable et je ne sais pas quoi mettre dans le 'action Performed' .

public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource() == btnAjouterM)
{
ResultSet rsA;
stmt = con.createStatement();
tableau.getSelectedRow();
String query = "INSERT INTO Menu VALUES"(rs.getString('0'),rs.getString('1'),rs.getString('2'),rs.getString('3'),rs.getString('4'));
rsA = (ResultSet) stmtM.executeQuery(query);
}

15 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
28 août 2012 à 10:01
Salut,

Si tu mets à jour la base de données, il faut utiliser executeUpdate qui est une procédure (void) cherche un exemple d'utilisation sur internet.
0
amundain Messages postés 110 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 28 août 2012 1
28 août 2012 à 11:40
Salut,

Cette ligne est incorrecte :

String query = "INSERT INTO Menu VALUES" rs.getString('0'),rs.getString('1'),rs.getString('2'),rs.getString('3'),rs.getString('4'));

Je suis surpris que tu n'aies pas une exception qui remonte...

Essaie peut-être

String query = "INSERT INTO Menu VALUES ('"+ rs.getString('0')+"','"+rs.getString('1')+"','"+rs.getString('2')+"','"+rs.getString('3')+"','"+rs.getString('4')+"')";

Voire même des getString sans les quotes, ce n'est pas nécessaire si tu prends l'index des colonnes de ton ResultSet.

A +,

amundain

Java bien,merci.
0
Merci merci mais c'est pour un JButton est-ce que quelqu'un pourrait me donner un exemple svp
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
28 août 2012 à 13:46
Tu utilisais bien le actionPerformed, je ne vois pas trop ce qui te manques...
0

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

Posez votre question
C'est parce que j'ai une ligne qui est soulignée
rsA = stmtA.executeUpdate(query);
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 août 2012 à 08:32
C'est normal, je t'ai dis que executeUpdate était une void. Donc, tu n'as pas de résultset en sortie. quel résultat attends tu ?
0
je veux que quand je clique sur le bouton "ajouter au menu" qu'il enregistre la ligne sélectionnée dans la base de données du menu
il y a une table plat et une table menu c'est à partir de la table plat que je sélectionne les plats du menu
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
30 août 2012 à 11:36
Quel rapport avec le reste ?
0
j'arrive pas à faire fonctionner le bouton et en plus executeUpdate n'est pas une void d'après eclipse
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
30 août 2012 à 13:40
Oui, ca retourne un int qui correspond au nombre de lignes supprimées, ajoutées ou 0 si l'opération effectuée est d'un autre type.

tu as fait
bouton.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent arg0) { 
      //...
   }
});



Si oui, ca doit marcher
0
oui je l'ai fait mais dans executeUpdate j'ai mis un query
0
Utilisateur anonyme
2 sept. 2012 à 17:16
Et en quoi ça te gène ?


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
voici mon code
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource() == btnAjouterM)
{
try {
stmt = con.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int idPlat = (int) tableau.getValueAt(tableau.getSelectedRow(),0);
try {
rs = stmt.executeQuery("SELECT * FROM Plats WHERE Code_plat="+idPlat);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(rs.next()){
String query = "INSERT INTO Menu VALUES ('"+ rs.getString(0)+"','"+rs.getString(1)+"','"+rs.getString(2)+"','"+rs.getString(3)+"','"+rs.getString(4)+"')";
try {
stmt.executeUpdate(query);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.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
3 sept. 2012 à 09:01
Franchement, je ne comprends pas ce que tu veux, si tu n'es pas plus clair, j'arrête d'essayer de comprendre...
0
je veux que en cliquant sur le bouton ajouter que la ligne sélectionnée soit ajoutée dans la table menu; on récupère les valeurs a partir de la table plats
Et excusez moi,je croyais que j'étais assez claire.
Merci d'essayer de comprendre!!!
0
Rejoignez-nous