Appeler méthode d'un autre package

Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007 - 16 juin 2005 à 17:10
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007 - 17 juin 2005 à 00:08
Bonjour,



tout d'abord je vous previens que je commence java, et que j'ai beaucoup de mal a comprendre son fonctionnement.



J'aimerai donc appeller une classe qui est contenu dans un autre package, je m'explique.



j'ai un package basededonnees, ou il y a la classe ConnectionBdd qui
contient la méthode connectToDb qui contient tous les paramètres de
connexion nécessaires (drivers...)

j'ai un autre package identification, qui contient une classe Ident, et
j'aimerai appeller la méthode connectToDB, pour apres lui passer mes
requetes sql. Sauf que je sais pas comment faire.



J'espère que j'ai été assez clair.



Merci de votre aide

13 réponses

Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007
16 juin 2005 à 22:55
Merci d'avoir répondu.



Pourquoi 2 fois packages.



Et lequel mettre en premier?



Merci
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
16 juin 2005 à 23:03
cetai juste un exemple :) au cas ou ta un package dans un autre



faut juste que tu situe le package où se trouve la classe que tu veux en entrant le chemin complet.
0
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007
16 juin 2005 à 23:08
ah ok.



Bon bah j'ai fait sauf qu'apres quand j'appel connectToDb(); il me dit qu'il la reconnait pas :(



Désolé d'etre aussi mauvais, je me doute que ca doit etre tout con
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
16 juin 2005 à 23:16
par exemple dans une classe pour utiliser un JLabel

tu import javax.swing.JLabel ;

et ensuite tu peut faire un new JLabel()

(ou faire un new javax.swing.JLabel() si tu veux pas importer)



donc dans ton cas tu importe ta classe pouet dont tu as besoin et tu
appelle la methode connectToDb(); via la classe pouet qui contient
cette methode :



pouet.connectToDb();
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007
16 juin 2005 à 23:28
Ouai j'ai fait ca, mais j'ai une erreur et je sais pas ou elle est. Voici mon code

Je met pas tout le code, juste de quoi on a besoin:



import basededonnees.ConnectionBdd ; //basededonnes est le package et ConnectionBdd la classe



//initialisation des variables de connexion

Statement demandeDonnees;

ResultSet resultats;



public Connection connect;



private JButton getJButton() {

if (jButton == null) {

jButton = new JButton();

jButton.setBounds(94, 153, 114, 28);

jButton.setText("Connexion");

jButton.addActionListener(new java.awt.event.ActionListener() {


public void
actionPerformed(java.awt.event.ActionEvent e) {


ConnectionBdd connection =
new ConnectionBdd();

connection.connectToDB();



try{




String requete
"SELECT * FROM users WHERE login'pierre_n' AND mdp='mdp'";


demandeDonnees
= connect.createStatement();


resultats =
demandeDonnees.executeQuery (requete);



//
on place le
curseur sur le dernier tuple



resultats.last();

//
on récupère le
numéro de la ligne


int
nombreLignes = resultats.getRow();

//
on repace le
curseur avant la première ligne



resultats.beforeFirst();



System.out.println("Ce ResultSet contient "+nombreLignes+" lignes.");



System.out.println("Le login est "+jTextField.getText());



System.out.println("Le mdp est "+jPasswordField.getPassword());



int good =1;



//
vérifie si le
login n'est pas vide


if
((jTextField.getText().equals("")))



{



good = 0;



JOptionPane.showMessageDialog(null,"Entrez
votre login","Erreur",JOptionPane.ERROR_MESSAGE);



}


//
vérifie si le mot de passe correspond au login


if
(nombreLignes == 1 &&
(!(jPasswordField.getPassword().equals(resultats.getString("mdp")))))



{



new IUServiceAchat();



dispose();










}

if(good ==0)

{



JOptionPane.showMessageDialog(null,"Votre mot de
passe n'est pas valide","Erreur",JOptionPane.ERROR_MESSAGE);

}



else {



dispose();



new IUIdent();



}

}



catch(Exception e1){



JOptionPane.showMessageDialog(null,"Erreur de récupération de données
:","Erreur",JOptionPane.ERROR_MESSAGE);


System.exit(0);


}



}
});

}

return jButton;

}



Et donc il m'execute le bloc catch, et je sais pas pourquoi
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
16 juin 2005 à 23:33
affiche e1.getMessage() pour voir d'ou ca vient
0
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007
16 juin 2005 à 23:50
ca m'affiche ca comme erreur :



Erreur:java.lang.NullPointerException



ca peut venir d'ou?
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
16 juin 2005 à 23:55
tu declare public Connection connect;



hors dans ton try tu fais demandeDonnees = connect.createStatement();



connect n'a pas ete initialisé, ca peut venir de la à mon avis
0
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007
16 juin 2005 à 23:56
qu'entend tu pas l'initialiser. Il suffit pas de la declarer seulement.
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
16 juin 2005 à 23:58
non
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
16 juin 2005 à 23:58
connection.connectToDB();



elle sert a quoi cette methode ?
0
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007
17 juin 2005 à 00:08
elle charge le driver mysql, ainsi que le nom de la base avec l'user ,
le mot de passe... enfin tout ce qu'il faut pour faire une connexion
mysql à une base de donnée. Et donc apres normalement j'ai juste a
appeller connectToDb, vu que je dois faire pleins de connexions
differentes sur differentes classes, ca m'evite donc de tout retaper a
chaque fois. Par contre dans ma class ConnectionBdd, et dans la méthode
connectToDb, j'appelle une autre méthode initConnection (qui s'occupe
simplement du chargement du driver). Est ce que je dois l'appeller
également comme conectToDB.



si tu prefere on peut parler sur msn, ca pourrait etre plus simple : cencorenico@hotmail.com
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
16 juin 2005 à 22:31
package.package.package.classe.methode() ?

ou si tu veut pas te faire chier a tout taper les packages

tu import :

import package.package.classe ;

et donc :

methode()
-1
Rejoignez-nous