Salut,
ayant fait une méthode pour se connecter à une base, je voudrait maintenant executer une requete SQL.
Ma methode est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 // Methode connection BD
  public void connectionDatabase (String url, String login, String password) {
	  try {
		  affiche("connection à la base de données : '"+url+"' en cours");
		  Connection con = DriverManager.getConnection(url,login,password);
		  affiche("connection à la base de données OK");
	  } catch (SQLException e) {
          // la connection a la base de données n'a pas pu etre établi
          // voici les codes erreurs retournés 
		  affiche("SQLException: " + e.getMessage()); 
		  affiche("SQLState: " + e.getSQLState()); 
		  affiche("VendorError: " + e.getErrorCode()); 
		  arret("Connection a la base de données impossible");
	  }
 
  }
Le hic est que dans mon main, je souhaite faire mes requete SQL, exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
	  // Listing des bases de données
	  String requete_listing = "SHOW databases;";
      try {
          Statement stmt = con.createStatement();
          résultats = stmt.executeQuery(requete_listing);
       } catch (SQLException e) {
          arret("Anomalie lors de l'execution de la requête");
       }
Sauf que con est definie dans la methode, alors comment y acceder?
Je pensais dans la methode faire un return con;
mais je ne sais pas comment definir cette derniere
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
public ???? connectionDatabase (String url, String login, String password) {
   ...
return con
}
et j'aurais ensuite fait dans main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
toto = ConnectBD.connectionDatabase(
			  "jdbc:mysql://localhost/"+database,
			  "root",
			  ""
	  );
	  // Listing des bases de données
	  String requete_listing = "SHOW databases;";
      try {
          Statement stmt = toto.createStatement();
          résultats = stmt.executeQuery(requete_listing);
       } catch (SQLException e) {
          arret("Anomalie lors de l'execution de la requête");
       }
MErci