Probleme dans mon code aidez moi !

Résolu
salut ! le sujet c'est que je dois executer une requete a partir d'une interface !!

error: unreported exception SQLException; must be caught or declared to be thrown
Statement st = con.createStatement();

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;

class gestion extends JFrame implements ActionListener {

/////////////////////////////////

public Connection con = null;
public Statement st= null;
public ResultSet rs= null;

JLabel lab = new JLabel("GESTION DE STOCK");

JButton but1 = new JButton("executer");

JPanel panel = new JPanel();
private String requete = "SELECT * FROM classe";

JLabel lab1 = new JLabel("Gestion");
private String requete1 = "SELECT * FROM classe";
JTextArea text = new JTextArea(requete1,8,30);

Box b1 = new Box(BoxLayout.Y_AXIS);
Box b2 = new Box(BoxLayout.Y_AXIS);
Box b3 = new Box(BoxLayout.Y_AXIS);
Box b4 = new Box(BoxLayout.Y_AXIS);

Box b5 = new Box(BoxLayout.Y_AXIS);

public gestion(){

super("gestion de stock");
setSize(400,400);
setVisible(true);
setDefaultCloseOperation(this.EXIT_ON_CLOSE);

panel.setSize(300,300);
b2.add(but1);
b3.add(text);

b4.add(lab);
b4.setSize(10,10);
b1.add(BorderLayout.NORTH,b4);
b1.add(BorderLayout.WEST,b2);
b1.add(BorderLayout.SOUTH,b3);
panel.add(b1);

this.add(panel);

but1.addActionListener(this);
}

public void actionPerformed(ActionEvent e){

Object src=e.getSource();
if(src instanceof JButton){
JButton var=(JButton) src;
if (var==but1) {

Statement st = con.createStatement();
ResultSet rs = st.executeQuery(requete);

while (rs.next()) {
System.out.println("id ="+rs.getInt(1)+",\t");
System.out.println("nom ="+rs.getString(2)+",\t");
System.out.println("prenom ="+rs.getString(3)+",\n");

}
}
} }

public void connection(){

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
System.out.println("impossible de chargern les drivers");
}
try{
String url="jdbc:odbc:test";
con=DriverManager.getConnection(url, "","");
}
catch(SQLException e)
{
System.out.println("impossible de créer une connexion");
}
}

public void fermeture(){

try {
//rs.close();
st.close();
con.close();
}
catch(SQLException e){}
}

public static void main(String[] args) {

gestion gest1 = new gestion();

}
}

4 réponses

  1. Contributeur
    Bonjour,

    S'il vous plaît
    Merci
    Au revoir
    etc.
    Sont monnaie courante quand on veut obtenir quelque chose !

    Saine lecture...*
    A voir aussi

    Merci de votre compréhension.

    ;-)

    * Bonus
    1. Modérateur
      Le message d'erreur est pourtant très explicite !

      Statement st = con.createStatement(); est une opération qui peux provoquer une SQLException que tu dois gérer, soit avec un try/catch, soit avec un throws.

      try 
      {
      	Statement st = con.createStatement();
      	ResultSet rs = st.executeQuery(requete);
      	
      	while (rs.next())
      	{
      		System.out.println("id ="+rs.getInt(1)+",\t");
      		System.out.println("nom ="+rs.getString(2)+",\t");
      		System.out.println("prenom ="+rs.getString(3)+",\n");
      	}
      }
      catch (SQLException e1) 
      {
      	e1.printStackTrace();
      }