Java Aktualisierungen von Datenbank in JTable anzeigen

nyal

Lt. Junior Grade
Registriert
Jan. 2006
Beiträge
480
Hallo zusammen,

habe folgendes Problem und auch googlen hat mir nicht geholfen:

Ich lese eine Tabelle aus einer MySQL Datenbank komplett aus und zeige sie in einer JTable an. Wenn ich nun etwas an der Datenbank ändere, dann soll das "Update" der Datenbank auch direkt wieder in der Übersichts-JTable dargestellt werden.

Wie stelle ich das an? Ich hab schon viel ausprobiert, aber finde im Moment nicht mal einen Ansatz. Es gibt ja eine Funktion rowfresh(); ... ist die irgendwie dafür verwendbar? Habe immer noch rel. wenig Erfahrungen mit Datenbanken!

Vielen Dank!
 
Wenn ich das richtig verstehe soll ja bei Veränderungen auf DB Seite was passieren, nicht bei Veränderungen auf der JTable Seite.

Wie wäre denn der einfachste Ansatz in einem extra Thread alle x Sekunden mal zu prüfen, ob sich etwas verändert hat und gegebenenfalls ein event zu feuern?
 
Was ich will:

Ich hab ne Tabelle und die lade ich bei Programmstart in meine JTable die angezeigt wird.

Dann ändere ich eine Zeile... wenn ich das geändert habe, zeigt mit meine JTAble noch die alten Werte an ;)
Ich will aber, dass dann automatisch die JTable aktualisiert wird^^

Kanns nicht so gut beschreiben, hoffe ihr habt es verstanden.

Das geht mit diesen Events?
 
Wichtig ist, dass du "ändere ich eine Zeile" genau definierst. Ich denke wir haben dich schon richtig verstanden, das du damit meinst du änderst in der DB einen record per query und nicht einen Eintrag der JTable per klicken und schreiben.
Ich kannte die SQL events die DonnyDepp erwähnt hat bisher noch nicht, aber nach kurzem Überfliegen sieht es mir nicht so aus, als könntest du damit deinem Programm klarmachen, dass sich etwas in der DB geändert hat. Du könntest nur eine Reaktion innerhalb der DB verursachen durch solche events. Lasse mich da aber gerne korrigieren, falls es eine Möglichkeit gibt nach außen zu funken.

Ich wüsste allerdings keine andere Möglichkeit als die von mir genannte.
 
Zuletzt bearbeitet:
gerade mal geschaut... seit mysql5 unterstützt die datenbank sogar trigger.
http://dev.mysql.com/doc/refman/5.6/en/triggers.html

da kann die datenbank zb. bei einem update auf nem datensatz u.a. java-programme benachrichten.
brauchst also gar nichts mit polling machen.

am einfachsten ist es aber, wenn du in nem extra-thread alle paar sekunden die datenbank pollst (zb über nen timestamp) und damit die geänderten spalten in deiner ansicht aktualisierst.
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben