Java编程帮助?!(Netbeans)
我是Java的新手,基本上我的问题是-如何将MS access链接到NetBeans,我已经尝试了所有方法,但似乎没有任何效果Java编程帮助?!(Netbeans),java,netbeans,jdbc,Java,Netbeans,Jdbc,我是Java的新手,基本上我的问题是-如何将MS access链接到NetBeans,我已经尝试了所有方法,但似乎没有任何效果 public Student1 (){ connect (); } public void connect () { try{ String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; Class.forName(driver); String Student
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();
黄线表示,
catch java.lang.exception太宽了
Exception类是IO和运行时异常的超类。在这里,您可以使用它的子类,也可以继续使用它。这取决于你
医生
connect()提示是:构造函数中的可重写方法调用
这可能会引起麻烦。调用该方法时,对象的状态可能不一致。请参阅
你得到了新学生1()的黄线代码>因为您创建了一个实例,但尚未将其存储在任何位置
这样的事情可以解决问题
Student1 n = new Student1();
导致此错误的原因是
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();
这将输出调用NewStudent.connect()的
,如果您将鼠标悬停在这一行上,NetBeans将提示您出了什么问题。这是什么提示?如果在catch()
中添加一些日志记录,您可能能够诊断错误。在catch块中使用Exception\printStackTrace()
方法!!它会告诉你reason@Tichodromaconnect()上的提示是:构造函数中的可重写方法调用,catch(Exception ex)上的提示是:catch(Java.lang.Exception)太过复杂,它捕获以下异常类型:Java.lang.clasNotFound Eeption和Java.sql.SQLException,new Student1()是;新实例(已忽略)与介绍一起介绍一个有用的提示您可以看到此答案,其中描述了如何连接到ms sql server,因此它可能会为您提供一些额外的想法,让您了解如何根据您的情况调整此提示