IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

encapsulation d'une connexion JDBC


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 13
    Points : 13
    Points
    13
    Par défaut encapsulation d'une connexion JDBC
    Bonjour j'essaie d'encapsuler une connexion JDBC avec les classes suivantes:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    import java.sql.*;
    public class ConnexionEncapsulee 
    {
    private String driver="com.mysql.jdbc.Driver";
    private String chaineConnexion="jdbc:mysql://localhost/";
    private String login="root";
    private String password="";
     
    private Connection connexion;
    	public void fermerConnexion()throws SQLException
    	{
    		if(this.connexion!=null && !this.connexion.isClosed())
    			this.connexion.close();
    	}
    	public Connection getConnexion()throws SQLException
    	{
    		try
    		{
    			if(this.connexion!=null || !this.connexion.isClosed())
    			{
    				Class.forName(driver);
    				this.connexion=DriverManager.getConnection(
    						this.chaineConnexion,this.login,this.password);
    			}
    			return this.connexion;
    		}
    		catch(ClassNotFoundException ex)
    		{
    			throw new SQLException(
    					"Classe introuvable "+ex.getMessage());
    		}
    	}
    voici la classe main

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    import javax.swing.JOptionPane;
    import java.sql.*;
    public class TestConnexionEncapsulee {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Raccord de méthode auto-généré
    		Statement envoieRequete;
    		ConnexionEncapsulee testRequete=new ConnexionEncapsulee();
    		try
    		{
    			envoieRequete=testRequete.getConnexion().createStatement();
    			envoieRequete.executeUpdate(
    					"INSER INTO tblhotel (nomHotel , adresse1Hotel, codePostalHotel, communeHotel)"
    					+ " VALUE ('toti','3 promenade des champs','78000','Mantes')");
    		}
    		catch(SQLException ex)
    		{
    			JOptionPane.showMessageDialog(null,
    					"Erreur JDBC : "+ex.getMessage());
    		}
     
    	}
     
    }
    j'ai le message d'erreur suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exception in thread main java.lang.NullPointerException
    at connexionEncapsulee.getConnexion(ConnexionEncapsulee.java:19)
    at TestConnexionEncapsulee.main(TestConnexionEncapsulee.java:14)

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 138
    Points : 120
    Points
    120
    Par défaut
    A la ligne 19, tu met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(this.connexion!=null || !this.connexion.isClosed())
    Donc, si connection n'est pas null ou si la connection n'est pas fermé.
    C'est pour cela que tu as une erreur de pointeur null.

    Tu devrais plutot mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(this.connexion!=null && !this.connexion.isClosed())

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/09/2014, 14h58
  2. Réponses: 4
    Dernier message: 23/02/2011, 11h11
  3. Récupérer une connexion jdbc
    Par Nelbor dans le forum W4 Express
    Réponses: 1
    Dernier message: 01/07/2010, 10h58
  4. hebergeur mysql pour une connexion jdbc externe?
    Par azer2k20 dans le forum JDBC
    Réponses: 1
    Dernier message: 28/10/2009, 01h57
  5. Probleme de connexion JDBC avec une base de donne mysql
    Par sultan_kafila dans le forum JDBC
    Réponses: 19
    Dernier message: 12/04/2006, 08h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo