Hallo allemaal,
Waarschijnlijk een eenvoudige vraag, maar ik kom er echt even niet uit.
Ik heb in de applicatie twee classes. De eerste class is de DisplayManager waarin ik met de volgende functie database waarden in een JTable wilt laten zien:
De andere class heet Observe en hier word door een datacontroller (andere class) de gegevens opgevraagd. Dat gebeurt in deze functie:
Als ik dit wil uitvoeren krijg ik de volgende output:
SQL foutmelding: null
[Ljava.lang.StackTraceElement;@1ffc686
------------------------------------------
Hier word ik niet echt wijs van en ik kan nou ook niet echt ontdekken wat het probleem is. Het lijkt er op dat getLatestRecords een exception opgooid, maar ik snap niet waardoor want de query werkt en er is verbinding. Ik had deze functie namelijk eerst zo dat er een vector uitkwam en een JList te voorschijn kwam. Nu wil ik het graag met een JTable, ziet er stukken beter uit.
Kan iemand mij vertellen wat ik fout doe? Bij voorbaat dank!
Waarschijnlijk een eenvoudige vraag, maar ik kom er echt even niet uit.
Ik heb in de applicatie twee classes. De eerste class is de DisplayManager waarin ik met de volgende functie database waarden in een JTable wilt laten zien:
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
| public void getLatestRecords() { // column names String[] colNames = { "Record ID", "Datum", "Tijd", "Locatie", "Opmerkingen" }; // fill the records try { String[][] vecRecords = this.observer.getLatestRecords(); // fill the table and display it JTable tblRecords = new JTable(vecRecords, colNames); this.setLayout(new BorderLayout()); this.add(tblRecords.getTableHeader(), BorderLayout.PAGE_START); this.add(tblRecords, BorderLayout.CENTER); } catch (Exception e) { System.out.println(e.getMessage()); System.out.println(e.getStackTrace()); System.out.println("------------------------------------------"); } } |
De andere class heet Observe en hier word door een datacontroller (andere class) de gegevens opgevraagd. Dat gebeurt in deze functie:
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
| public String[][] getLatestRecords() throws Exception { String [][] latestRecords = new String [10][]; try { Statement conStatement = conData.createStatement(); String stQuery = "SELECT * FROM observers ORDER BY iObserveID DESC LIMIT 0, 10"; ResultSet rsRecords = conStatement.executeQuery(stQuery); int i = 0; while(rsRecords.next()) { latestRecords[i][0] = new String(Integer.toString(rsRecords.getInt(1))); latestRecords[i][1] = new String(rsRecords.getString(2)); latestRecords[i][2] = new String(rsRecords.getString(2)); latestRecords[i][3] = new String(rsRecords.getString(3)); latestRecords[i][4] = new String(rsRecords.getString(4)); latestRecords[i][5] = new String(rsRecords.getString(6)); i++; } } catch (Exception e) { throw new Exception(displaySQLErrors(e)); } return latestRecords; } |
Als ik dit wil uitvoeren krijg ik de volgende output:
SQL foutmelding: null
[Ljava.lang.StackTraceElement;@1ffc686
------------------------------------------
Hier word ik niet echt wijs van en ik kan nou ook niet echt ontdekken wat het probleem is. Het lijkt er op dat getLatestRecords een exception opgooid, maar ik snap niet waardoor want de query werkt en er is verbinding. Ik had deze functie namelijk eerst zo dat er een vector uitkwam en een JList te voorschijn kwam. Nu wil ik het graag met een JTable, ziet er stukken beter uit.
Kan iemand mij vertellen wat ik fout doe? Bij voorbaat dank!