Suppression dans Java et mySQL
Bonjour,
J'ai un programme de suppression écrit en java, avec une BD MySQL, qui ne marche pas, mais qui ne donne aucun message d'erreur. Il est conçu pour supprimer un élément à partir d'une liste déroulante. Merci pour votre aire, voici le code :
import java.awt.BorderLayout;
import java.awt.Component;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
public class Supprimer_sujet {
public Supprimer_sujet() throws SQLException {
Statement state = Connect.getInstance()
.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY
);
ResultSet res = state.executeQuery("SELECT id_sujet,stype,couleur,sexe FROM tsujets");
res.last();
int rowCount = res.getRow();
System.out.println(rowCount);
res.beforeFirst();
Object[] data = new Object[rowCount];
int i=0;
while(res.next()){
data[i] = res.getString("id_sujet")+" | "+res.getString("stype")+" | "+res.getString("couleur")+" | "+res.getString("sexe");
i++;
}
JOptionPane jop = new JOptionPane(), jop2 = new JOptionPane();
ImageIcon img = new ImageIcon("images/suppression.png");
String sujet = (String)jop.showInputDialog(null,
"Veuillez choisir le sujet à supprimer!",
"Suppression d'un sujet !",
JOptionPane.QUESTION_MESSAGE,
img,
data,
null);
try{
if(sujet !=null) {jop2 = new JOptionPane();
int option = jop.showConfirmDialog(null, "Supprimer le sujet : "+sujet+" ?", "Confirmation de suppression", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(option == JOptionPane.OK_OPTION)
{
String[] str = sujet.split(" | ");
res = state.executeQuery("SELECT id_sujet FROM tsujets WHERE id_sujet = "+str[0]);
res.first();
int id = res.getInt("id_sujet");
try{
String query = "DELETE FROM tsujets WHERE id_sujet = "+id;
res = state.executeQuery(query);
}
catch(Exception e ){
JOptionPane confirmation = new JOptionPane();
confirmation.showMessageDialog(null, "Le sujet a été supprimer ", "Mise à ajour", JOptionPane.INFORMATION_MESSAGE, null);
}
}}
res.close();
state.close();
}catch(NullPointerException e){}
JOptionPane erreur = new JOptionPane();
erreur.showMessageDialog(null, "Le sujet introuvable ", "Mise à ajour", JOptionPane.INFORMATION_MESSAGE, null);
}
}
J'ai un programme de suppression écrit en java, avec une BD MySQL, qui ne marche pas, mais qui ne donne aucun message d'erreur. Il est conçu pour supprimer un élément à partir d'une liste déroulante. Merci pour votre aire, voici le code :
import java.awt.BorderLayout;
import java.awt.Component;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
public class Supprimer_sujet {
public Supprimer_sujet() throws SQLException {
Statement state = Connect.getInstance()
.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY
);
ResultSet res = state.executeQuery("SELECT id_sujet,stype,couleur,sexe FROM tsujets");
res.last();
int rowCount = res.getRow();
System.out.println(rowCount);
res.beforeFirst();
Object[] data = new Object[rowCount];
int i=0;
while(res.next()){
data[i] = res.getString("id_sujet")+" | "+res.getString("stype")+" | "+res.getString("couleur")+" | "+res.getString("sexe");
i++;
}
JOptionPane jop = new JOptionPane(), jop2 = new JOptionPane();
ImageIcon img = new ImageIcon("images/suppression.png");
String sujet = (String)jop.showInputDialog(null,
"Veuillez choisir le sujet à supprimer!",
"Suppression d'un sujet !",
JOptionPane.QUESTION_MESSAGE,
img,
data,
null);
try{
if(sujet !=null) {jop2 = new JOptionPane();
int option = jop.showConfirmDialog(null, "Supprimer le sujet : "+sujet+" ?", "Confirmation de suppression", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(option == JOptionPane.OK_OPTION)
{
String[] str = sujet.split(" | ");
res = state.executeQuery("SELECT id_sujet FROM tsujets WHERE id_sujet = "+str[0]);
res.first();
int id = res.getInt("id_sujet");
try{
String query = "DELETE FROM tsujets WHERE id_sujet = "+id;
res = state.executeQuery(query);
}
catch(Exception e ){
JOptionPane confirmation = new JOptionPane();
confirmation.showMessageDialog(null, "Le sujet a été supprimer ", "Mise à ajour", JOptionPane.INFORMATION_MESSAGE, null);
}
}}
res.close();
state.close();
}catch(NullPointerException e){}
JOptionPane erreur = new JOptionPane();
erreur.showMessageDialog(null, "Le sujet introuvable ", "Mise à ajour", JOptionPane.INFORMATION_MESSAGE, null);
}
}
Configuration: Windows XP / Internet Explorer 7.0
4 réponses
-
Non
En tant que débutant je travaille à l'aide d'un éditeur de texte simple et je lance le programme à partir du Dos. Comment ce fait le débogage?
Seuelement j'ai testé la requete directement sous MySQL et elle fonctionne bien.
Salutations -
utilise un IDE tel que eclipse ou netbeans, c'est super ultra pratique ;)
-
OK. Je reviens vers vous tout de suite.
-
Bonjour
as tu essayé de faire exécuter ton code en mode debuggage ?