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

avec Java Discussion :

Passer un attribut d'une classe à une autre


Sujet :

avec Java

  1. #1
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut Passer un attribut d'une classe à une autre
    Bonjour,
    J'ai une classe "UserLogin" qui permet de faire l'authentification (login et passe) d'une entreprise, et j'ai besoin après l'authentification, de récupérer l'identifiant de cette entreprise dans une autre classe pour l'utiliser dans d'autres traitements, mais j'arrive plus à savoir comment . Comment faire pour pouvoir récupérer dans l'autre classe la variable id_entreprise, que j'ai extrait de la base de données lors de l'authentification?

    Merci

    Le bout de code de la classe UserLogin.Java, qui récupère l'identifiant de l'entreprise authentifiée
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    	@Override
    			public void actionPerformed(ActionEvent arg0) {
    				String un=uname.getText();
    				String pa= new String(pass.getPassword());
    				System.out.println("le login saisi est: "+un);
    				connectToDB();
    				 try {
     
    					// statement = connection.createStatement();
    					 PreparedStatement statement = (PreparedStatement) connection.prepareStatement("select * from entreprise where login = (?)");
    					 statement.setString(1,un);
     
    					  rs=(ResultSet)statement.executeQuery();
    						//rs = statement.executeQuery("Select * from entreprise where login like "+"'"+un+"'");
    			 if (un==""){
    				 ErreurVide = new JOptionPane();
    					ErreurVide.showMessageDialog(null, "Veuillez saisir vos paramètres", "Informations non saisies", JOptionPane.ERROR_MESSAGE);}
    					else if (un!=""){
    				 if (rs.next()){	
     
    							id_entreprise = rs.getInt("id_entreprise");
    							Entreprise entrepacheteur = new Entreprise();
    							entrepacheteur.setId_entreprise(id_entreprise);
    						//	String nom_entreprise = rs.getString("nom_entr");
    						//	String login = rs.getString("login");
    							passVerif = rs.getString("passe");
    							int row = rs.getRow();
    							System.out.println("Données contenues dans la ligne "+row);
    							System.out.println("id entreprise : "+id_entreprise);
     
    						if ((pa.equals(passVerif))){
    								dispose();
    								//new AgentCommercialAchat();
    							}
    							else {
    								ErreurPass = new JOptionPane();
    								ErreurPass.showMessageDialog(null, "Veuillez vérifier votre mot de passe", "Erreur", JOptionPane.ERROR_MESSAGE);			
    							      }
    				 }
    					  else {
    						  ErreurLogin = new JOptionPane();
    							ErreurLogin.showMessageDialog(null, "Veuillez vérifier votre login", "Erreur", JOptionPane.ERROR_MESSAGE);
    					       } }
    			 }
     
     
    				 catch (SQLException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
     
     
    			}
     
    		});
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    public class Entreprise {
     
    	private int id_entreprise;
    	private String nom_entreprise;
    	private String secteur;
    	private int tel;
    	private double nserie;
    	private Date Date_creation;
    	private double chiffre_affaire;
    	private String email;
    	private int fax;
    	private String login;
    	private String passe;
     
    	public Entreprise(){
     
    	}
     
    	public Entreprise(int id_entreprise){
    		this.id_entreprise=id_entreprise;
    	}
     
    	public int getId_entreprise() {
    		return id_entreprise;
    	}
     
    	public void setId_entreprise(int id_entreprise) {
    		this.id_entreprise = id_entreprise;
    	}
     
    	public String getNom_entreprise() {
    		return nom_entreprise;
    	}
     
    	public void setNom_entreprise(String nom_entreprise) {
    		this.nom_entreprise = nom_entreprise;
    	}
     
    	public String getSecteur() {
    		return secteur;
    	}
     
    	public void setSecteur(String secteur) {
    		this.secteur = secteur;
    	}
     
    	public int getTel() {
    		return tel;
    	}
     
    	public void setTel(int tel) {
    		this.tel = tel;
    	}
     
    	public double getNserie() {
    		return nserie;
    	}
     
    	public void setNserie(double nserie) {
    		this.nserie = nserie;
    	}
     
    	public Date getDate_creation() {
    		return Date_creation;
    	}
     
    	public void setDate_creation(Date date_creation) {
    		Date_creation = date_creation;
    	}
     
    	public double getChiffre_affaire() {
    		return chiffre_affaire;
    	}
     
    	public void setChiffre_affaire(double chiffre_affaire) {
    		this.chiffre_affaire = chiffre_affaire;
    	}
     
    	public String getEmail() {
    		return email;
    	}
     
    	public void setEmail(String email) {
    		this.email = email;
    	}
     
    	public int getFax() {
    		return fax;
    	}
     
    	public void setFax(int fax) {
    		this.fax = fax;
    	}
     
    	public String getLogin() {
    		return login;
    	}
     
    	public void setLogin(String login) {
    		this.login = login;
    	}
     
    	public String getPasse() {
    		return passe;
    	}
     
    	public void setPasse(String passe) {
    		this.passe = passe;
    	}
     
    }
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 554
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 554
    Points : 21 612
    Points
    21 612
    Par défaut
    Ben pour le récupérer, il faut d'abord que ça ait été rangé dans un endroit où il peut être récupéré.
    C'est bien beau de construire un objet Entreprise, mais si tu n'en fais rien, eh ben ça a servi à rien.

    Par exemple tu pourrais créer une classe EtatGlobalDeMonAppli qui ressemblerait à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class EtatGlobalDeMonAppli {
      private Entreprise entreprise;
     
      Entreprise getEntreprise() {
        return entreprise;
      }
     
      void setEntreprise(Entreprise entreprise) {
        this.entreprise = entreprise;
      }
    }
    Tu fais un seul new EtatGlobalDeMonAppli() au début du programme, et tu passes l'objet à toutes les classes qui en ont besoin, que ce soit pour lire ce qu'il y a dedans ou mettre des trucs dedans.

    Par exemple ta classe UserLogin fera quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    etatGlobal.setEntreprise(entrepacheteur);
    Et les classes qui ont besoin de lire l'id feront quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int id = etatGlobal.getEntreprise().getIdEntreprise();

    ... Bon ça c'est le conseil pour débutant, en réalité on peut garder plusieurs classes états qui correspondent à plusieurs besoin et pas seulement au user actuellement authentifié.

    Il y a énormément de mauvaise conception dans le code que tu nous as montré, mais ils sont sans rapport avec le problème, alors on les abordera pas. Ça arrive quand on débute, il faut progresser avec des petits bouts, et le code de GUI n'est pas ce qu'il y a de plus simple.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    Merci pour votre réponse, que doit etre le type de la classe etatGlobal pour s'assurer qu'elle n'est instanciée qu'une seule fois et pouvoir utiliser les fonctions get et set?
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  4. #4
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    Citation Envoyé par thelvin Voir le message


    ... Bon ça c'est le conseil pour débutant, en réalité on peut garder plusieurs classes états qui correspondent à plusieurs besoin et pas seulement au user actuellement authentifié.

    Il y a énormément de mauvaise conception dans le code que tu nous as montré, mais ils sont sans rapport avec le problème, alors on les abordera pas. Ça arrive quand on débute, il faut progresser avec des petits bouts, et le code de GUI n'est pas ce qu'il y a de plus simple.
    Bonjour,
    Pouvez vous me dire quelles sont ces remarques?
    Merci
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

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

Discussions similaires

  1. Ajouter une classe à une classe
    Par benooo dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 05/02/2014, 18h22
  2. Passer d'une classe à une autre
    Par Sieur_Blabla dans le forum Qt
    Réponses: 16
    Dernier message: 18/08/2010, 11h17
  3. Passer une variable d'une classe à l'autre
    Par Gibou dans le forum C++
    Réponses: 2
    Dernier message: 16/06/2006, 08h38
  4. Réponses: 8
    Dernier message: 04/04/2006, 17h29

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