Goedemorgen!
Ik heb een raar probleempje.
Ik heb een Java-applicatie waarin ik een 4tal Lijsten vul met namen, dit gaat via de methode showPresenceLists(). Aan de hand van gegevens uit de database (rooster/kloktijden enz) komt de naam in de ene lijst danwel cq in de andere. Wanneer de gebruiker een naam uit een van de lijsten selecteerd verschijnt er een popup (JDialog) waarmee de gebruiker inzoemt op de exacte gegevens. Ook kan de gebruiker hierop een aantal gegevens wijzigen. De gewijzigde gegevens sla ik op in de db. Dit gaat zonder problemen. Maw, wanneer ik direct daarna de db open en de tabel bekijk zie ik het resultaat. Het popupje sluit en ik ververs automatisch de lijsten door showPresenceLists() aan te roepen.
Nu zie ik dus dat de lijsten opnieuw worden gevuld, het probleem is echter dat de applicatie niet de nieuwe db gegevens ophaalt, maar schijnbaar verder gaat met de oude gegevens.
Aan het begin van de methode showPresenceLists() roep ik de methode maakVerbinding("dblocatie") uit mijn eigen Database klasse aan.
Aan het eind van de methode showPresenceLists() roep ik de methode sluitVerbinding aan.
showPresenceLists() begint nu toch iedere keer met een nieuwe databaseconnectie?
Ik snap echt niet waarom hij dan niet de nieuwe gegevens verwerkt...
Hebben jullie misschien enig idee?
Ik heb een raar probleempje.
Ik heb een Java-applicatie waarin ik een 4tal Lijsten vul met namen, dit gaat via de methode showPresenceLists(). Aan de hand van gegevens uit de database (rooster/kloktijden enz) komt de naam in de ene lijst danwel cq in de andere. Wanneer de gebruiker een naam uit een van de lijsten selecteerd verschijnt er een popup (JDialog) waarmee de gebruiker inzoemt op de exacte gegevens. Ook kan de gebruiker hierop een aantal gegevens wijzigen. De gewijzigde gegevens sla ik op in de db. Dit gaat zonder problemen. Maw, wanneer ik direct daarna de db open en de tabel bekijk zie ik het resultaat. Het popupje sluit en ik ververs automatisch de lijsten door showPresenceLists() aan te roepen.
Nu zie ik dus dat de lijsten opnieuw worden gevuld, het probleem is echter dat de applicatie niet de nieuwe db gegevens ophaalt, maar schijnbaar verder gaat met de oude gegevens.
Aan het begin van de methode showPresenceLists() roep ik de methode maakVerbinding("dblocatie") uit mijn eigen Database klasse aan.
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
28
| public void maakVerbinding(String dbnaam) { String currentDir = System.getProperty("user.dir"); String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; String username = ""; String password = ""; String url = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" + dbnaam; try { Class.forName(driver); } catch (Exception e) { System.out.println("JDBC/ODBC-stuurprogramma kan niet worden geladen."); return; } try { con = DriverManager.getConnection(url); stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); } catch (Exception e) { e.printStackTrace(); System.err.println("Kan geen verbinding maken met de ODBC-connectie."); } } |
Aan het eind van de methode showPresenceLists() roep ik de methode sluitVerbinding aan.
Java:
1
2
3
4
5
6
7
8
9
10
| public void sluitVerbinding(){ try { stmt.close(); con.close(); } catch(Exception e){ System.out.println( "er is geen connectie met de databse"); } } |
showPresenceLists() begint nu toch iedere keer met een nieuwe databaseconnectie?
Ik snap echt niet waarom hij dan niet de nieuwe gegevens verwerkt...
Hebben jullie misschien enig idee?