Ik heb een JTable in een formulier zitten, nu wil ik deze opmaken middels een TableModel, Dit is gelukt (Met statische data dus voorgedefinieerd).
Nu wil ik graag deze Table vullen met MySQL data. Deze connectie is bekend en geef ik via de aanroeping naar de TableModel mee. Dmv de volgende regel:
MyTableModel model = new MyTableModel(conn);
conn is de connectie.
Nu gaat deze naar de TableModel, alleen word deze hier niet zomaar geaccepteerd. Ik heb hem nu in een constructor, alleen update die de global niet, terwijl als ik er een functie bij aanroep en dan de connectie meegeef deze wel een positieve waarde geeft, hetgeen betekent dat de constructor wle uitgevoerd word alleen dat de global niet geupdate word!
Stukje van de code:
Dit geeft geen foutmelding, alleen als ik hierna dan in een stukkie code de volgende regel zet:
En ergens anders:
System.out.println(checkConnection());
Dan zegd hij gewoon geen connectie. Ik doe het waarschijnlijk verkeerd, normaal deed ik het via een method, alleen kan dat hier niet zoals ik wil.
Normaal zou je de constructor dus aanroepen met constructor naam = new constructor();
en dan kun je de variabele gebruiken door naam.variabele. Alleen nu staat er dus als een ontvangen variabele!
Nu wil ik graag deze Table vullen met MySQL data. Deze connectie is bekend en geef ik via de aanroeping naar de TableModel mee. Dmv de volgende regel:
MyTableModel model = new MyTableModel(conn);
conn is de connectie.
Nu gaat deze naar de TableModel, alleen word deze hier niet zomaar geaccepteerd. Ik heb hem nu in een constructor, alleen update die de global niet, terwijl als ik er een functie bij aanroep en dan de connectie meegeef deze wel een positieve waarde geeft, hetgeen betekent dat de constructor wle uitgevoerd word alleen dat de global niet geupdate word!
Stukje van de code:
Java:
1
2
3
4
5
6
7
8
9
10
11
| import javax.swing.table.AbstractTableModel; import java.sql.Connection; class MyTableModel extends AbstractTableModel { Connection conn; MyTableModel(Connection verbinding) { conn = verbinding; } |
Dit geeft geen foutmelding, alleen als ik hierna dan in een stukkie code de volgende regel zet:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
| public String checkConnection() { if(conn == null) { return "Geen connectie!"; } else { return "Verbonden..."; } } |
En ergens anders:
System.out.println(checkConnection());
Dan zegd hij gewoon geen connectie. Ik doe het waarschijnlijk verkeerd, normaal deed ik het via een method, alleen kan dat hier niet zoals ik wil.
Normaal zou je de constructor dus aanroepen met constructor naam = new constructor();
en dan kun je de variabele gebruiken door naam.variabele. Alleen nu staat er dus als een ontvangen variabele!
[ Voor 8% gewijzigd door BSeB op 19-10-2004 12:47 ]