Java & Access Database - PullRequest
       41

Java & Access Database

0 голосов
/ 07 января 2019

Я пытаюсь выбрать записи и просмотреть их в JTable. Мои записи находятся в базе данных Ms Access локально на моем компьютере. При попытке запустить программу я получаю сообщение об ошибке исключения из нулевой точки, указывая мой подготовленный оператор. Ниже мой код

try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String sourceURL =
                "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=E:/My Documents/NetBeansProjects/VictoriaMilk/3.accdb;";
    Connection li = DriverManager.getConnection(sourceURL, "Admin", "");
    System.out.println("Connection is: "+li);
    PreparedStatement pstm = conn.prepareStatement("SELECT * FROM Milk");
    // SLNO, NAMES, QTY, RATE, Deductns, BalPaid
    ResultSet Rs = pstm.executeQuery();

    while (Rs.next()) {
        model.addRow(new Object[]{Rs.getInt(1), Rs.getString(2), Rs.getString(3), Rs.getString(4), Rs.getString(5),
        Rs.getString(6), Rs.getString(7)});
    }

} catch (ClassNotFoundException ex) {
    Logger.getLogger(ResultTable.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException sqle) {
    System.out.println(sqle);
}

1 Ответ

0 голосов
/ 07 января 2019

Вы открываете новое соединение и присваиваете локальную переменную li, но через мгновение вы пытаетесь набрать private static Connection con, что составляет null. Используйте переменную из li:

Connection li = DriverManager.getConnection(sourceURL, "Admin", "");

PreparedStatement pstm = li.prepareStatement("SELECT * FROM Milk");
...