Classe connection pour mysql

Messages postés
75
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2019
- - Dernière réponse : cs_shenz
Messages postés
3
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
19 novembre 2008
- 19 nov. 2008 à 16:42
Bonjour, je veux créer une classe permettant de se connecter ou se déconnecter de ma base de donnée.
J'ai fait ceci, mais je ne suis pas du tout sur de moi surtout pour la déconnexion car j'ai une erreur sur stmt.close ainsi que sur conn.close
Pouvez-vous m'aider? merci d'avance.


package Test;

import java.beans.*;
import java.sql.*;
import java.awt.*;
import java.sql.*;
import java.util.*;
import javax.swing.JLabel;
import com.mysql.jdbc.Statement;
import com.mysql.jdbc.Connection;

public class GestionConnectBdD {

    static String url; //10.104.100.57
    static ResultSet rs;

    public static void Connection(JLabel res, JLabel auto, String User, String Pass, String IP, String Port, String Nom) throws ClassNotFoundException, SQLException {

        Connection conn;
        Statement stmt;

        String pilote = "org.gjt.mm.mysql.Driver";

        Class.forName(pilote);

        conn = (Connection) DriverManager.getConnection(url);

        stmt = (Statement) conn.createStatement();

    }

    public static void Deconnection() {
        rs = GestionConnectBdD.rs;
        rs.close();
        stmt.close();
        conn.close()
        
    }
}

Afficher la suite 

5 réponses

Messages postés
750
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 décembre 2008
18
0
Merci
Salut,
des erreurs comment ? Peux-tu nous en afficher une s'il te plait, afin que nous puissions nous faire un jugement.

Merci

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
Commenter la réponse de indiana_jules
Messages postés
48
Date d'inscription
vendredi 31 août 2007
Statut
Membre
Dernière intervention
12 février 2009
0
Merci
salut
j'espère que ça va t'aider (classe complete de gestion):


****************************************


import java.sql.*;


public class ConnexionBD {
 
    Connection          con = null;
    Statement           sta;
    ResultSet           re;
    ResultSetMetaData   metaBase;
    public ConnexionBD(String url, String NomDriver) {
        try {
            Class.forName(NomDriver);
            con = DriverManager.getConnection(url);
            System.out.println("Overture de la connection");
            sta = con.createStatement();
        }
        catch (ClassNotFoundException ex) {
            System.err.println("Ne peut pas trouver les classes du conducteur de la base de données.");
            System.err.println(ex);
        }
        catch (SQLException ex) {
            System.err.println("pas de connection au base de de donnee.");
            System.err.println(ex);
        }
     }
    public ResultSet rechercher(String query){
     try {
     re=sta.executeQuery(query);
     System.out.println("Element trouvé ");
      }
     catch (SQLException ex) {
            System.err.println(ex);
         }
     return re;
     }   
    public void ajouter(String query){
     try {
     sta.executeUpdate(query);
     System.out.println("Element ajouté a la base");
      }
     catch (SQLException ex) {
            System.err.println(ex);
     }     
    }  
    public void modifier(String query){
     try {
     sta.executeUpdate(query);
     System.out.println("Element Modifié");
     }
     catch (SQLException ex){
        System.err.println(ex);
     }   
    }  
    public void supprime(String query){
     try {
     sta.executeUpdate(query);
     System.out.println("Element suprimé");     
     }
     catch (SQLException ex) {
         System.err.println(ex);
     }   
    }
    public void fermer(){
     try {
   re.close();
  } catch (SQLException e) {
   System.out.println("Problème de fermeture de la Base de données");
  }
        System.out.println("Base de données Férmée");
    }
}
*****************************************************
Commenter la réponse de jiidou
Messages postés
75
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2019
0
Merci
Merci pour ta classe mais elle ne prend pas le nom d'utilisateur et le mot de passe ?
Commenter la réponse de mimi1255
Messages postés
3
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
19 novembre 2008
0
Merci
Bonjour,

Je viens de reprendre le code fournit par jiidou, mais j'ai quelques questions pour être sûr de bien utiliser sa classe qui à l'air bien complète.

D'abord j'ai un peu modifié la classe, j'ai utilisé un constructeur vide et j'ai passé l'url et le driver en constante de classe:
     public static final String DRIVER = "com.mysql.jdbc.Driver";
     public static final String URL =  "jdbc:mysql://localhost/nomBase"; (je ne suis pas sûr que ce soit la bonne forme d'url  à utiliser)

Ensuite j'ai juste remplacé dans le code et complété pour faire intervenir le user et mot de passe (définit aussi en constantes)
    con = DriverManager.getConnection(URL, USERNAME, PASS);

Par contre, dans le code, je ne comprends pas l'utilité de: ResultSetMetaData   metaBase;
Il n'est jamais réutilisé ensuite dans le reste... ???
Commenter la réponse de cs_shenz
Messages postés
3
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
19 novembre 2008
0
Merci
edit de mon url:
public static final String URL =  "jdbc:mysql://localhost:3306/nomBase"

RQ:  3306 = port d'écoute par défaut de phpMyAdmin        Par défaut sous phpMyAdmin: user "root", pass ""
Commenter la réponse de cs_shenz