2013-09-28 3 views
0

У меня проблема с переходом переменных в другой класс, потому что он продолжает передавать мне пустую переменную.Получить значение переменной в другом классе?

Я хочу, чтобы получить значение id от метода search() и передать его class foo внутри метода total ...

Класс Boo:

//method inside of class boo 

public void search(){ 

try{ 

     String id = searchBox.getText(); 
     String idNum=""; 

     rs = stat.executeQuery("Select * from students where idNum='"+id+"'"); 

     while(rs.next()){ 

      idNum = rs.getString("idNum"); 

     }//while 

      Members members = new Members(); 
      setVisible(false); 

      members.setIdVal(id); 

    }catch(Exception e){ 
     System.out.println("Error: "+e); 
    } 

}//search 

Класс Foo:

// methods inside Foo 
public void total(){ 

    System.out.println("Get: "+getIdVal()); 

    try{ 

    rs2 = stat2.executeQuery("SELECT * FROM paymentRecord where idNum ='"+getIdVal()+"';"); 

    }catch(Exception e){ 
     System.out.println("Total Error: "+e); 
    }// 

}//total 

public void setIdVal(String val){ 

    this.val = val; 

}//get the id 

public String getIdVal(){ 

    //System.out.println("Inputted ID:" + val); 
    return this.val; 

}//get the id 
+1

Попробуйте меньший пример - чтобы посмотреть, как это сделать, вам не нужно все чтение из SQL см. Http://sscce.org – Mark

+0

Теперь вы сомневаетесь, не имея смысла. Пожалуйста, сократите код и скоро опубликуйте SSCCE. –

+0

У вас есть это, надеюсь, что вы сейчас понимаете, простите меня, вытащите его первый раз, используя stackoverflow.com .. – PhantomKid

ответ

0

getIdVal() - это метод o f a Foo класс, но это должен быть класс класса Boo.

class Boo { 
    private String id; 
    public void search(){ 
     // ... 
     this.id = searchBox.getText(); 
     // ... 
    } 

    public int getIdVal() { 
     return this.id 
    } 
} 

Хотя Foo класс:

Class Foo { 
    public string Total(){ 
     Boo boo = new Boo(); 
     System.out.println(boo.getIdVal()); // will print the value from id searched in search() method 
    } 
} 

Вы должны выбрать, куда звонить search() метод.

+0

может я' getIdVal() 'не вызывать' boo'? Является ли это возможным? потому что у них обоих есть свои 'psvm' и' JFrame' .. – PhantomKid

+0

эй? Я попробовал то, что вы сказали, но он возвращает мне «null» вместо значения 'id' .. btw i call' search() 'in' class Boo', когда кнопка поиска кнопки нажата, она вызовет поиск метода. – PhantomKid

Смежные вопросы