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 :

[DEBUTANT] Syntaxe Java/JDBC


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut [DEBUTANT] Syntaxe Java/JDBC
    Bonjour à tous.
    C'est mon premier contact avec JDBC, et j'ai tenté de créer une classe "connect" dont je me servirai plus tard pour gérer les opérations de connexion et de requête sur ma base de données.

    Le problème, c'est que j'ai une erreur dans mon code, et que je ne comprends pas d'où elle vient.
    Eclipse me signale qu'il s'agit d'une erreur de syntaxe (unhandled exception type SQLException, à la ligne en rouge dans la copie ci-dessous).
    Il doit certainement s'agir d'une erreur basique, mais je ne comprends pas d'où elle vient (newbie de chez newbie )

    Quelqu'un saurait-il/elle m'éclairer ?

    Merci d'avance

    Voici mon code

    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
    33
    34
    35
    36
    37
    38
    import java.sql.*;
    
    
    public class Connect {
    
    	String url, login,pwd,requete;
    	Connection conn;
    	Statement stmt;
    	ResultSet rs;
    	
    	
    	ResultSet LanceRequete(String laRequete)
     // Effecue la requete laRequete sur la BD
    	{
    		stmt=conn.createStatement(); 
    	    rs=stmt.executeQuery(laRequete);
    	    System.out.println("Requête effectuée sur la base");
      	    return rs;
    	   }		
    	
    	Connect(){ //Constructeur - Ouvre la connexion
    		try{
    		Class.forName("oracle.jdbc.OracleDriver").newInstance(); //Chargement du driver
    		
    		url="jdbc:oracle:thin:@XXX";
    	    login="XXX";
    	    pwd="XXX";	
    	    conn = java.sql.DriverManager.getConnection(url,login,pwd); //connexion
    	    System.out.println("Connexion réussie !");
      
    	    } 
    				
    	catch(ClassNotFoundException cnfe){
    		   System.out.println("Driver introuvable : ");
    		   cnfe.printStackTrace();}
    	
    	catch(Exception e){System.out.println("Connexion ratée: "+e);}
    	}

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 38
    Points : 37
    Points
    37
    Par défaut
    Il faut entourer ta ligne en rouge d'un try-catch

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup.
    En effet, du coup Eclipse ne me signale plus aucune erreur.

    Par contre je ne comprends pas vraiment ce qui se passe. Pourquoi le fait de rajouter un try...catch fait que ça lui va, et pourquoi sans try...catch ça ne lui allait pas ? Le try ne fait rien d'autre que de permettre un suivi d'éventuelles erreurs, non ? Alors qu'est-ce que ça change à la validité de mon code ?

    Serait-il possible de m'expliquer ?

    Merci encore.

  4. #4
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Il faut l'entourer d'un try catch si tu ne relance pas l'erreur.
    En fait, cette "ligne" peut déclenchre des exceptions connues (implementation de la methode createStatement). Il faut gérer ces exception à un endroit ou à un autre.
    Si tu les entoures d'un try catch, tu les geres sur place.
    Sinon, tu les relances
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class Connect throws MonException {...
    Dans ce cas, tu les gereras ensuite, dans la methodes appelante de ta methode Connect. (où tu pourras faire un choix entre ces deux memes solutions et ce, jusqu'au "main").
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    D'abord, merci pour cette réponse.

    Cela dit, je ne suis pas sûr de bien comprendre : dans mon esprit, gérer les exceptions est une pratique saine, mais pas obligatoire. Je pensais que ne pas gérer les exceptions n'empêchait pas pour autant de compiler le code.

    Et là, j'ai l'impression que certains instructions rendent obligatoires la présence d'une gestion d'exception. C'est bien ça ?
    Et dans ce cas, comment savoir desquelles il s'agit ?

    J'ai l'impression que je n'ai pas bien saisi...

  6. #6
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Toute les méthodes qui sont signé avec un throws et qui donc peuvent lancer une exception dans certains cas, doivent être traitées.

    Les exceptions qui ne sont pas traités, ce sont les exceptions dues à une erreur de code (NullPointerException, IndexArrayOutOfBoundsException, ...)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup de vos lumières. J'ai appris quelque chose aujourd'hui, je suis content
    Je vais regarder tout ça de plus près.

  8. #8
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Pour trouver les exceptions signées, il suffit de regarder la doc java.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Debutant JAVA JDBC
    Par kam81 dans le forum JDBC
    Réponses: 6
    Dernier message: 17/11/2009, 15h12
  2. [DEBUTANT][DTD][JAVA]déclaration d'une DTD ("file: ....
    Par The Wretched dans le forum Valider
    Réponses: 2
    Dernier message: 21/06/2005, 08h57
  3. [debutant]MySql & Java
    Par Stef784ever dans le forum JDBC
    Réponses: 4
    Dernier message: 16/06/2004, 12h49
  4. [debutant]Servlet java
    Par Regis.C dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 14/05/2004, 10h28
  5. [debutant] correspondance JAVA C++ pour pointeur de fonction
    Par davidoff_tls dans le forum Langage
    Réponses: 7
    Dernier message: 15/04/2004, 09h13

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