2017-08-31 2 views
0

J'essaie d'afficher UserName dans mon MainDashboard. je suis retriving dans les méthodes de classe et le stockage du userName dans une variable et l'accès à cette variable de tableau de bord, mais tout ce que je reçois est rien mon code Dashboard estComment accéder à une valeur de variable d'une classe en java

  String Query="SELECT `FirstName` FROM `localuserregisteratin` WHERE 
      `Email`='"+a.Email+"' AND `Password`='"+a.Password+"' "; 
      Statement stmtt=con.createStatement(); 
      ResultSet rst=stmtt.executeQuery(Query); 

      while (rst.next()) {   
       PartnerFirstName=rst.getString("Firstname"); 
       frmLocalUser frm=new frmLocalUser(); 
       frm.UserFirstName=PartnerFirstName; 
      } 

et mon code sous forme de tableau de bord est

   txtUserName.setText(this.m.PartnerFirstName); 

toute aide serait appréciée.

+0

Commencez par lire http : //docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html. Votre code échouera dès qu'il y aura une citation dans l'un des arguments et sera vulnérable aux attaques par injection SQL. Oubliez également les backticks et les noms de tables et de colonnes sensibles à la casse. Et respectez les conventions de nommage Java. –

Répondre

0

Utilisez getter/setter pour accéder aux variables. Comme getPartnerFirstName(). Et aussi dans ce cas, vous pouvez retourner votre valeur.

0

Les backticks sur les noms de colonne doivent être évités. Ils ne sont pas conformes à ANSI-SQL, cela signifie que cela ne fonctionnera pas lorsque la même requête sera exécutée avec le serveur SQL. Je soupçonne qu'il ya une faute de frappe dans localuserregisteratin, c'est pourquoi vous ne recevez aucune donnée de la table. Pour accéder au membre de données d'une classe, getter est un bon choix.

0

txtUserName.setText(this.m.UserFirstName); ou txtUserName.setText(this.UserFirstName);

vous aidera si m objet est mis en correspondance avec frm Si vous assignez à UserFirstName de frm objet que vous devez récupérer ce paramètre (UserFirstName) seulement.
La meilleure pratique serait d'utiliser Getter et Setters lors de l'attribution et l'accès aux états d'un objet en Java.

0

La plupart des réponses ci-dessus devraient vous guider, mais j'ai simplement ajouté l'extrait de code pour que vous soyez familier avec.

Cet appel sera votre classe avec des déclarations préparées pour obtenir des données de DB

/* Class #1 */ 
public class VariableWriteClass { 
    public VariableClass methodWriteClass(){ 
     VariableClass vClass = new VariableClass(); 
     vClass.setUserName("bob"); 
     return vClass; 
    } 
} 

Getter et Setter

/* POJO class*/ 
public class VariableClass { 
    String userName; 
    public String getUserName() { 
     return userName; 
    } 
    public void setUserName(String userName) { 
     this.userName = userName; 
    } 
} 

Cela peut être votre classe MainDashboard

/* Class #2 */ 
public class VariableAccessClass { 

    public static void main(String[] args) { 
     callMethod(); 
    } 
    private static void callMethod() { 
     VariableWriteClass vWrite = new VariableWriteClass(); 
     VariableClass name = vWrite.methodWriteClass(); 
     System.out.println(" main class "+name.getUserName());  
    } 
}