Ik ben bezig met een JAVA programma waar instellingen in een SQLite database worden opgeslagen.
Vreemd genoeg, loop ik nu tegen het volgende probleem aan:
Als ik een rij in een tabel wil toevoegen lijkt dat goed te gaan(Ik krijg geen fouten etc.)
En als ik kijk in het java programma lijkt de rij ook toegevoegd, hij geeft een error als ik dezelfde rij nogmaals toe wil voegen, maar in de SQLite database zie ik niets verschijnen.
Ook is de rij na een herstart van het programma weer verdwenen en kan ik de gegevens gewoon opnieuw invoeren.
Via een SQLite programma (SQLite database browser) kan ik wel gewoon rijen toevoegen zonder problemen.
Nu heb ik wel wat gelezen over commit, maar zodra ik de database het commit commando geef geeft hij de error "SQLite3 Exception: SQL logic error or missing database"
Mijn 'insert methode:'
Het zelfde gebeurt met een update.
Zodra ik de code aanpas met het volgende:
krijg ik de volgende fout:
SQL logic error or missing database
Vreemd genoeg, loop ik nu tegen het volgende probleem aan:
Als ik een rij in een tabel wil toevoegen lijkt dat goed te gaan(Ik krijg geen fouten etc.)
En als ik kijk in het java programma lijkt de rij ook toegevoegd, hij geeft een error als ik dezelfde rij nogmaals toe wil voegen, maar in de SQLite database zie ik niets verschijnen.
Ook is de rij na een herstart van het programma weer verdwenen en kan ik de gegevens gewoon opnieuw invoeren.
Via een SQLite programma (SQLite database browser) kan ik wel gewoon rijen toevoegen zonder problemen.
Nu heb ik wel wat gelezen over commit, maar zodra ik de database het commit commando geef geeft hij de error "SQLite3 Exception: SQL logic error or missing database"
Mijn 'insert methode:'
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| public boolean insertAuthenticationData(String databasename, String username, int rightslevel) { try { PreparedStatement ps= ConnectSQLiteSettings .getConnection() .prepareStatement( "INSERT INTO databaseuser (DatabaseName,DatabaseUser,Rights) VALUES (?,?,?);"); ps.setString(1, databasename); ps.setString(2, username); ps.setInt(3, rightslevel); ps.execute(); ps.close(); } catch (SQLException e) { System.out.println(e.getMessage()); return false; } System.out.println("inserted the user"); return true; } |
Het zelfde gebeurt met een update.
Zodra ik de code aanpas met het volgende:
Java:
1
2
3
| conn.setAutoCommit(false); ps.execute(); conn.setAutoCommit(true); |
krijg ik de volgende fout:
SQL logic error or missing database