为什么不从SQLite数据库中获取数据?

时间:2015-04-11 23:11:55

标签: java sqlite

我正在尝试连接到位于项目目录中的数据库并从中获取数据,但是出现Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException错误。

这是我的代码:

public static Connection ConnectDB(){
        Connection conn = null;
        Statement stmt = null;
        try{
            Class.forName("org.sqlite.JDBC");
            conn = DriverManager.getConnection("jdbc:sqlite:database01s.sqlite");
            JOptionPane.showMessageDialog(null, "Connected");

        conn.setAutoCommit(false);
        System.out.println("Opened database successfully");

        ResultSet rs = stmt.executeQuery( "SELECT id FROM DAN" );

        while(rs.next()){
            System.out.println( rs.getInt("id") );
        }

        rs.close();
        stmt.close();
        conn.close();

    }catch(ClassNotFoundException | SQLException | HeadlessException e){
        JOptionPane.showMessageDialog(null, e);
        System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        System.exit(0);
    }
    return null;
}

它确实成功连接,但是当它到达此行时会出错:ResultSet rs = stmt.executeQuery( "SELECT id FROM dan" );

这是我的数据库的图片,以查看我是否输入了正确的表格和信息:image

1 个答案:

答案 0 :(得分:1)

您将获得空指针异常,因为stmt等于null,并且您正在调用executeQuery()。你不能在空对象上调用方法。