【发布时间】:2021-06-30 01:31:04
【问题描述】:
我想将我的 hsql 数据库与 eclipse hsql 数据库管理器连接到我的 eclipse 中,我认为代码非常正确,但它给了我这个错误:
线程“main”中的异常 java.lang.NullPointerException:无法调用“java.sql.Connection.createStatement()”,因为“this.con”为空 在 peraLinq.Main.selectAll(Main.java:36) 在 peraLinq.Main.main(Main.java:30)
我该如何解决?
package peraLinq;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
Connection con = null;
public Main() {
try {
Class.forName("org.hasqldb.jdbcDriver");
}
catch(ClassNotFoundException e) {
return;
}
con = null;
try {
con = DriverManager.getConnection("jdbc:hasqldb:file:C:\\Users\\usera\\Desktop\\peraLinq\\database\\saves; shutdown=true", "root", "root");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
Main m = new Main();
m.selectAll();
}
public void selectAll() {
try {
Statement stmt = con.createStatement();
String sql = "SELECT * FROM Customers";
ResultSet res = stmt.executeQuery(sql);
while(res.next()) {
String id = res.getString(1);
String name = res.getString(2);
String email = res.getString(3);
System.out.println(id + " " + name + " " + email);
}
res.close();
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
【问题讨论】:
标签: java sql database eclipse hsqldb