用Java编程帮助?! (Netbeans的)

时间:2015-04-13 09:54:45

标签: java netbeans jdbc

我是 Java 的新手,基本上我的问题是 - 如何将MS访问链接到 NetBeans ,我已经尝试了所有内容,但似乎没有任何工作。

public Student1 (){


   connect ();
}

public void connect () {

    try{

        String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
        Class.forName(driver);

        String Student1 = "jdbc:odbc:Database1";
        con = DriverManager.getConnection(Student1);
        st = con.createStatement();
        String sql = "select * from Student1";
        rs = st.executeQuery(sql);

        while (rs.next())
        {
            String fname = rs.getString("First Name");
            String lname = rs.getString("Last Name");
            String dob = rs.getString("DOB");
            String studentid = rs.getString("StudentID");
            String mobileno = rs.getString("MobileNo");
            String address = rs.getString("Address");
            String email = rs.getString("Email");


            System.out.println(fname + " "+lname+" "+dob+" "+studentid+" "+mobileno+" "+address+" "+email);

        }

    }catch (Exception ex){

    }

}

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here
new Student1();
}

}

我得到一条黄线:

connect ();
catch (Exception ex)
new Student1();

2 个答案:

答案 0 :(得分:0)

黄线表示the catch java.lang.exception is too broad

Exception类是IO和Runtime Exceptions的超类。因为你可以使用它的子类或继续使用它。由你决定。

文档Here

enter image description here

  

connect()提示说:构造函数中的可覆盖方法调用

这可能会造成麻烦。调用该方法时,该对象的状态可能不一致。请参阅Here

您为new Student1();获得了黄线,因为您创建了一个实例但未将其存储在任何位置。

这样的事情可以解决问题。

Student1 n = new Student1();

答案 1 :(得分:0)

导致错误的原因是Student1类的构造函数正在调用同一类中的可覆盖方法connect()

这是不好的做法的原因是因为如果有人子类Student1并覆盖connect(),那么他们也会直接改变Student1的父类构造函数的行为。这是封装的突破。

示例:

public class NewStudent extends Student1 {
    // constructor, etc...

    @Override
    public void connect() {
        // do something new here
        System.out.println("calling NewStudent.connect()");
    }
}

NewStudent student = new NewStudent();

这将输出calling NewStudent.connect()