Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Zusammen!

Ich habe eine JTable mit einigen 100 Zeilen. Von dieser soll ich ab und an ein Update auf die (vorübergehende) Access DB durchführen. Nun würde ich gern nur die Zeilen aus der JTable auslesen die auch befüllt sind. Also z. B. nur die Zeilen in denen die Spalte 8 befüllt ist...

Könnt ihr mir helfen?

MfG

Saban

Geschrieben

Hi Peter

eine Schleife über die Spalte laufen lassen und die befüllten Zeilen abfragen ist ja schön und gut aber wenn ich 1000 Zeilen hab und jede Zeile die befüllt ist auf der DB update dauert des ne gute Zeit...

Ich hätt halt lieber abgefragt welche Zeilen vom User editiert wurden... Also das ich z. B. nur die zwei neu befüllten Zeilen ermittle...

Ich hab mir schon gedacht die geändert Zeilen in einem Array zu speichern und dann einfach das Array abzuarbeiten aber ich weiss nicht nach welchen Kriterien ich die Zeilen ermitteln soll oder besser gesagt mit welchem Listener ich des erreichen kann...

MfG

Saban

Geschrieben (bearbeitet)

Das ging aus Deiner ersten Beschreibung nicht hervor. Ich halte es erstens für sinnvoll, trotzdem in der Geschäftslogik Deiner Anwendung nur dann Daten zu ändern, wenn sich auch inhaltlich etwas geändert hat. Das sollte also im Service oder im DAO geprüft werden, um unnötige schreibende Zugriffe zur Datenbank zu vermeiden. Dabei sollte jedes Datenobjekt wissen, welche Eigenschaften hier für einen Vergleich herangezogen werden sollen.

Zu Deiner Frage: Du kannst einen TableModelListener an Dein TableModel hängen und den bei einer Änderung des Models benachrichtigen. Der kann sich dann die geänderten Daten merken, bis sie gespeichert werden sollen. Du musst allerdings noch nachschauen, wie Du aus dem Editor, der die Änderung durchführt, die Änderung der Daten an das Model kommunizierst, bzw. ob das automatisch passiert. Denn die Methode setValueAt wird meines Wissens auch bei der Initialbefüllung des Models aufgerufen und nicht nur bei Änderungen im Model.

Peter

Bearbeitet von kingofbrain
Geschrieben

Hi!

Stimmt tut mir leid war bisschen schwammig formuliert!

Ist wirklich nicht böse gemeint... Aber jetzt weiss ich genau so viel wie davor :confused: Ich glaub ich steh grad voll aufm Schlauch...

Hast du vllt irgendwelche Code Stücke für mich?

MfG

Saban

Geschrieben

Nö, weil ich so was noch nicht gemacht hab. Ich habe mir die Java API Documentation angeschaut.

Es gibt für jede JTable ein TableModel. Diesem TableModel kannst Du einen TableModelListener hinzufügen, der mitkriegt, ob im TableModel Änderungen vorgekommen sind. Auf diese Änderung hin merkst Du Dir das geänderte Objekt und speicherst es am Schluss weg.

Peter

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...