2017-08-23 69 views
0

我试图填充名为cmb_course组合框中的选项,该选项将被从我在Microsoft Access数据库中抽取的,我的问题是下面无法使用组合框的变量名称不同类

cmb_course.addItem(rs.getString("courseName")); 

cmb_course被以红色突出显示,并显示错误

“找不到符号符号:变量cmb_course位置:类 学生”

我的主要文件是studentForm.java

其中名为cmb_course已创建组合框是studentJframe.java

,最后我创造了另一个类,这是我在哪里试图建立功能student.java文件。

我已经研究过关于使用getter和setter来达到这个目的,但我对jframe相当陌生,并不能完全理解这个概念,因为这还没有被教授解释给我们,但它是作为我们项目的一部分给出的

我希望有人能详细说明这个问题。

public class student { 
     final String K_LIB = "jdbc:ucanaccess://"; 
     final String K_DB_LOC = "C://"; 
     final String K_DB_NAME = "students.accdb"; 
     String configuration = K_LIB + K_DB_LOC + K_DB_NAME; 

public void fillComboBox(){ 

    try{ 
     Connection conn = DriverManager.getConnection(configuration); 
     Statement s = conn.createStatement(); 
      ResultSet rs=s.executeQuery("Select courseName from course"); 
      while(rs.next()){ 
       cmb_course.addItem(rs.getString("courseName")); 
      } 
     } 
    catch(Exception e){ 
     System.out.println(e.getMessage()); 
    } 

} 

}

+0

这是真的,没有在该类名称*** cmb_course ***下声明的引用.... –

+0

编译器如何能够猜测** cmb_course **声明了什么或在哪里。 –

+0

它不知道在哪里搜索'cmb_course',因为你没有告诉它。尝试,例如,为'fillComboBox()'方法添加参数,在该方法中将传递JFrame。 –

回答

0

将如何编译器会知道cmb_combo变量在StudentForm.java声明。

您可以在Student.java类中创建一个getter方法,该方法将结果集。从StudentForm.java类调用Student.java类的getter方法,并捕获变量中的返回值。