H SQL встроенное соединение - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь подключиться к своему hsqlDb через скрипт java, но что бы я ни добавил в базу данных, он не может быть сохранен и не генерирует никаких ошибок! то же самое, когда я пытаюсь получить данные из БД и использую Result.next (), он генерирует nulPointerExeption, даже если у меня есть данные в моей таблице

 Connection con = null; 
    try {
        Class.forName("org.hsqldb.jdbcDriver");
         con = DriverManager.getConnection("jdbc:hsqldb:file:GestionPiecesDB\\GestionPiece;hsqldb.lock_file=false", "root", "");

    } catch (SQLException e) {
        System.out.println(e);
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(DataBaseTest.class.getName()).log(Level.SEVERE, null, ex);
    }
    System.out.print("connected \n");
    Statement stmn;
    try {
        stmn = con.createStatement();
        stmn.executeUpdate("insert into users (nom ,nature , mot_passe ) values ('admin' ,'admin' , 'admin')");
    } catch (SQLException ex) {
    }
    System.out.print("created \n");

    Statement sn;
    ResultSet r ;
    try {
        sn = con.createStatement();
        r = sn.executeQuery("select * from users");
        if(r.next())
             System.out.print("value \n");
        else
            System.out.print("not value \n");               
    } catch (SQLException ex) {
    }

1 Ответ

0 голосов
/ 29 февраля 2020

Вы перехватываете исключения и продолжаете программу. Это означает, что вы не увидите никаких ошибок. Добавьте throws SQLException к сигнатуре метода и удалите все блоки try {} catch для этого исключения.

Ваш путь к файлу должен быть абсолютным. Например:

DriverManager.getConnection("jdbc:hsqldb:file:C:\\GestionPiecesDB\\GestionPiece", "root", "")

И вам не следует отключать файл блокировки для обычного использования.

...