classe dans un meme package mais inconnu

classe dans un meme package mais inconnu - Java - Programmation

Marsh Posté le 30-09-2007 à 22:45:59    

Bonjour,  
 
 
Je me suis créé une classe, MaConnexion, qui me permettra de gerer ma connexion à la base de donnée.
 
Dans le fichier main, je me suis créé une instance de ma classe MaConnexion l'affectant à la variable maSQL :
MaConnexion maSQL = new MaConnexion();
 
puis je veux appeller la méthode insert2(). Utilisateur de netbean6, j'ecris donc ma variable maSQL puis le . et apres je fais Alt+Espace pour choisir ma méthode insert2();
 
Je ne comprends absolument pas pourquoi Netbean m'indique que le package maSQL n'existe pas. Comme vous pouvez le voire sur le screen, la classe MaConnexion et Main sont dans le meme package gestionemploi2. Dans le fichier Main et Maconexion, j'ai preciser : package gestionemploi2;
 
 
http://fuma001.free.fr/snag/java.jpg
 
 
Ma classe :  

Code :
  1. /*
  2. * MaConnexion.java
  3. *  
  4. * Created on 30 sept. 2007, 20:50:21
  5. *  
  6. * To change this template, choose Tools | Templates
  7. * and open the template in the editor.
  8. */
  9. package gestionemploi2;
  10. import java.sql.*;
  11. import java.util.logging.Level;
  12. import java.util.logging.Logger;
  13. public class MaConnexion {
  14.     private Connection myConnection;
  15.    
  16.     public MaConnexion() {
  17.         try {
  18.             Class.forName("com.mysql.jdbc.Driver" );
  19.             myConnection=DriverManager.getConnection("jdbc:mysql://localhost/java","root", "" );
  20.         } catch (SQLException ex) {
  21.             Logger.getLogger(MaConnexion.class.getName()).log(Level.SEVERE, null, ex);
  22.         } catch (ClassNotFoundException ex) {
  23.             Logger.getLogger(MaConnexion.class.getName()).log(Level.SEVERE, null, ex);
  24.         }
  25.     }
  26.     public void Insert2 () {
  27.         String q = "INSERT INTO `entreprise` ( `ENTREPRISE_ID` , `NOM` ) VALUES ('', 'coucouc');";
  28.        
  29.         try {
  30.             Statement stmt = myConnection.createStatement();
  31.              stmt.executeUpdate(q);
  32.         } catch (SQLException ex) {
  33.             Logger.getLogger(MaConnexion.class.getName()).log(Level.SEVERE, null, ex);
  34.         }
  35.        
  36.        
  37.     }
  38.          
  39.    
  40.    
  41. }


 
et mon fichier main :
 
 
 

Code :
  1. /*
  2. * Main.java
  3. *
  4. * Created on 18 septembre 2007, 12:24
  5. *
  6. * To change this template, choose Tools | Template Manager
  7. * and open the template in the editor.
  8. */
  9. package gestionemploi2;
  10. /**
  11. *
  12. * @author Administrateur
  13. */
  14. public class Main {
  15.    
  16.     MaConnexion maSQL = new MaConnexion();
  17.     maSQL.insert2();
  18.    
  19. }


Message édité par weed le 30-09-2007 à 23:11:23
Reply

Marsh Posté le 30-09-2007 à 22:45:59   

Reply

Marsh Posté le 01-10-2007 à 02:37:13    

erreur de typo :
-main -> insert2
-classe -> Insert2 (majuscule sur le i)


---------------
The Rom's, à votre service
Reply

Marsh Posté le 01-10-2007 à 10:49:20    

Code :
  1. public class Main {
  2.   MaConnexion maSQL = new MaConnexion();
  3.   maSQL.insert2();
  4. }


 
C'est surtout que tu mets une instruction en dehors d'une méthode.
 
J'imagine que ta classe Main est le point d'entrée de ton application donc ça devrait plutot ressembler à ça :
 

Code :
  1. public class Main {
  2.   private static MaConnexion maSQL;
  3.   public static void main(String[] args) {
  4.     maSQL =  = new MaConnexion();
  5.     maSQL.insert2();
  6.   }
  7. }


 
Il ne faut confondre la classe Main (qui aurrait pû s'appeller Toto) avec la méthode main(String[] args)
 
PS : on écrit Accueil et pas Acceuil :p

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed