Le probl�me c'est que tu utilises conn qui n'est pas static dans des 
m�thodes static.
Tu as deux solutions pour r�soudre ton probl�me

- tu ne mets pas ta m�thode doMySQLconnection static
- tu veux absolument la mettre static. Dans ce cas tu utilises une 
variable locale � la m�thode et tu retournes une Connection et tu 
l'utiliseras dans ton code en faisant conn = doMySQLconnection(...)

Seb

Aur�lien Mazurie wrote:
> 
> Grrr... Je d�sesp�re de trouver une r�ponse � un probl�me tout simple, 
> d� au fait que je d�bute en Java... Je suis s�r que vous allez trouver 
> �a simplissime:
> J'ai une classe principale qui contient des variables qui seront 
> utilis�es par toutes les classes filles appell�es (ces classes 
> correspondent � des formulaires, des bo�tes de dialogues, etc.). Ces 
> variables sont appell�es � changer (par exemple: la classe m�re contient 
> une variable indiquant le nombre de fen�tres ouvertes, et chaque classe 
> fille doit y acc�der pour pouvoir l'incr�menter ou la d�cr�menter).
> Le probl�me est que le compilateur me sort toujours des choses comme "il 
> faut que votre variable soit d�clar�e comme statique pour �tre 
> appell�e". P�nible ! Je ne veux pas de variable statique...
> 
> Vous avez ci-dessous un extrait de mon code: je veux "partager" la 
> variable conn entre toutes les classes filles appell�es � partir de la 
> classe m�re MainFrame (qui est elle m�me appell�e par la class 
> principale du programme). J'ai lu quelque part que l'on ne pouvait pas 
> le faire directement, donc j'ai cr�� dans la classe appelante 
> (MainFrame) une fonction "getConnection" qui renvoie la valeur de conn 
> (et "doMySQLconnection" qui la d�finie). A ce stade, pfff... J'ai tout 
> essay�. Si je ne d�clare pas les fonctions comme statiques, dans les 
> classes filles j'ai un message "A reference to an instance of class 
> MainFrame is required to access this non static member of it" lorsque 
> j'essaye de les appeller (par le biais d'un "autre_conn = 
> MainFrame.getConnection()")... Si je les d�clare comme statiques, comme 
> ci-dessous, j'ai le m�me probl�me avec la variable conn... Snif ! Je 
> veux bien indiquer une instance active de MainFrame, mais comment on 
> fait �a ?
> 
>     Aur�lien Mazurie
> 
> public class MainFrame extends JFrame
>  {
>   // Acces a la base MySQL
>   private Connection conn;
> 
>   public static void doMySQLconnection (String host, String user, String 
> password)
>    {
>     try { Class.forName("org.gjt.mm.mysql.Driver"); }
>     catch (java.lang.ClassNotFoundException e)
>      {
>       System.err.println(" Erreur ClassNotFoundException: ");
>       System.err.println(" " + e.getMessage());
>      }
> 
>     try { conn = DriverManager.getConnection("jdbc:mysql:///mabase", "", 
> ""); }
>     catch (SQLException ex)
>      {
>       System.err.println(" Erreur SQLException:");
>       System.err.println(" " + ex.getLocalizedMessage() + "\n (erreur " 
> + ex.getErrorCode() + ")");
>      }
>    }
> 
>   public static Connection getConnection ()
>    {
>     return conn;
>    }
> 
>  ...
> 
> 


 
______________________________________________________________________________
ifrance.com, l'email gratuit le plus complet de l'Internet !
vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
http://www.ifrance.com/_reloc/email.emailif


Répondre à