Créer une class de connexion avec la base de donnée

info20072008 Messages postés 12 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 1 mai 2009 - 18 juil. 2008 à 20:12
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 - 18 juil. 2008 à 23:08
bonjour,

je veux créer une class de connection avec ma base de donnée
ensuit je veux juste l'appler dans d'autre class et faire mes requetes

ce que je suis en train de faire actualement
c'est de réecrire le code suivant dans chaque class qui a besoin de la connexion avec la base

Connection con = null;

Statement st = null;
ResultSet rs = null;

    try
    {
     Class.forName("org.postgresql.Driver");   
     System.out.println("driver etablie");
    }
    catch(Exception e)
    {
    System.out.println("erreur:Driver int" +
    "rouvable");
    }
  
   
    //connexion à la base
    try
   
    {
        String URL = "jdbc:postgresql://localhost:5432/test";
    String USER = "postgres";
    String PASSWD = "nnnnnn";
   
    con =DriverManager.getConnection(URL,USER, PASSWD);
    System.out.println("connexion  base pfe etablie");
   
    }
   
    catch(Exception e)
   
      {
      
    System.out.println("erreur: base introuvable");
   
    }
 

vous pouvez me dire comment declarer ça (me donner le code)??

merci bcp de me répondre
A voir également:

4 réponses

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
18 juil. 2008 à 21:01
Salut,

au lieu de demander du code tout fait pourquoi ne pas faire un peu d'effort surtout que 90% du code tu l'as déjà fait ?!!

écris
une classe Connexion dont le constructeur se connecte à ta base de
données et qui fournit des méthodes pour exécuter des requêtes.. puis
repostes en cas de problèmes..
0
info20072008 Messages postés 12 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 1 mai 2009
18 juil. 2008 à 22:28
slt  Chatbour ,
j'ai pas dis que je veux le code complet ,je veux construire moi meme mon code,je veux pas "un plat pret"ok??

je veus juste des indication ou qlq'un qui peux me corriger les erreurs
voila ce que j'ai fais :
j'ai crée la class "connexion" la voici:

public

class Connexion {//private Connection con;

public Connection Connexion () {

Connection con = null;

Statement st = null;

ResultSet rs = null;

try

{

Class. forName ("org.postgresql.Driver");

System.out.println ("driver etablie");

}

catch(Exception e)

{

System.out.println ("erreur:Driver int" +

"rouvable");

}

//connexion à la base

try

{

String URL = "jdbc:postgresql://localhost:5432/test";

String USER = "postgres";

String PASSWD = "elrahmen7";

con =DriverManager. getConnection (URL,USER, PASSWD);

System.out.println ("connexion base pfe etablie");

}

catch(Exception e)

{

System.out.println ("erreur: base introuvable");

}

return con;

}

}

comme vous voyez elle return "con" qui est de type connection

je déclare dans une autre class "test" une instance de cette class comme ça:
Connexion connexion ;

mais je sais pas comment récupérer "con"??

pour faire une requete je déclare dans la class"test" :
st = con.createStatement();
rs = st.executeQuery("select nom from articles ");

mais il ne reconnais pas "con" et si je declare :
connection con;
il ne me donne rien car"con"c'est pas celle qui l'a récupérer depuis la class"connexion" 
comment je dois corriger mon codes???
merci
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
18 juil. 2008 à 23:00
Re,

d'abord c'est quoi ce return dans un constructeur ?!!

à part ça, voici quelques suggestions :

- je te conseille de déclarer les variables con et rs comme attributs d'objets et non pas dans le constructeur.

- penser à ajouter des méthodes qui vont encapsuler l'exécution de requêtes.. genre :

public ResultSet requeteSelect(String requete)

public int requeteUpdate(String requete)




ces méthodes vont utiliser les variables con et st déclarées attributs de classe à cet égard..

Bonne continuation !
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
18 juil. 2008 à 23:08
penser aussi à ajouter une méthode pour fermer tout flux ouvert..
0
Rejoignez-nous