java
  • mysql
  • variables
  • access
  • 2017-08-31 77 views 0 likes 
    0

    我想在我的MainDashboard中显示用户名。 我在方法的类retriving,并存储在一个变量的用户名和访问来自仪表板是可变的,但所有我收到什么 我的仪表板码是如何从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; 
          } 
    

    和我的仪表盘形式的代码是

       txtUserName.setText(this.m.PartnerFirstName); 
    

    任何帮助,将不胜感激。

    +0

    开始://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html。只要其中一个参数有引号,您的代码就会失败,并且容易受到SQL注入攻击。还忘记反引号和区分大小写的表和列名称。并尊重Java命名约定。 –

    回答

    0

    使用getter/setter访问变量。像getPartnerFirstName()一样。 而且在这种情况下,您可以返回您的价值。

    0

    避免列名反引号。它们不符合ANSI-SQL,意味着当相同的查询要与sql server一起运行时,它不起作用。我怀疑localuserregisteratin中存在拼写错误,这就是为什么你没有从表格中获取任何数据。要从一个类访问数据成员,getter是一个不错的选择。

    0

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

    会帮助,如果m对象映射到frm 如果您分配给frm对象的UserFirstName你应该 该参数(UserFirstName)只检索。
    最佳实践是在分配和访问Java中的对象状态时使用Getter和Setter。

    0

    大多数上述答案应该引导您完成,但是我只是添加了代码片段以供您熟悉。

    这个调用与准备语句从数据库

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

    getter和setter

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

    获取数据类这可以通过读取HTTP您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());  
        } 
    } 
    
    相关问题