Zeile in JTable löschen

Gast #2884554
Lesenswert?

Hallo alle zusammen,

Die programmiersprache ist Java
Datenbakseitig :SQLServer 2008

ich möchte in eine JTable neue zeilen einfügen bzw löschen und dann in 
sqlServer auch speichern.
Mit dem Einfügen funktioniert einwandfrei, nur mir ist nicht ganz klar 
wie ich das mache mit dem Löschen von Zeilen.
Da die in der Tabelle viele spalten die auf andere Tabelle 
referenzieren.


Beim Einfügen, Update, funktioniert alles super nur wie solle ich 
überprüfen beim löschen in einem zeile ob es die datensätze keine 
referenzen haben.


Für Jeden Vorschlag bin ich dankbar.
#2885572
Lesenswert?

Wiener_Gast schrieb:
> Da es diese Tabelle pflichfelder (die auch als fremdschlüssel sind).
> Gibt es noch einen Möglichkeit trotzdem einen Zeile zu löschen?

Keiner hier kennt das Modell deiner Datenbank. Du musst erst mal wissen 
wie deine Datenbank aufgebaut ist, wie die Tabellen über Schlüssel 
miteinander verknüpft sind.
Wenn du Elemente löschen willst, musst du von 'unten' anfangen. Das 
heisst erst müssen alle Elemente von abhängigen Tabellen gelöscht sein, 
deren Fremdschlüssel auf deinen Tabelleneintrag zeigen. Erst dann kann 
man den führenden Eintrag löschen.
Das Ganze kann man evt. teilweise mit Constraints beim Definieren der 
Tabellen automatisieren. Stichwort wäre dafür "on delete cascade" in der 
DDL.

Der Inhalt deiner Tabellen hat erst mal nichts mit einem JTable zu tun.
Du solltest je eine eigene Klasse für jede Tabelle in Java definieren, 
die einzelnen Einträge wären dann Objekte dieser Klasse.
Die kann man dann in Listen halten und mit deiner Anzeigeschicht 
(JTable) verknüpfen.
Die Kommunikation mit der Datenbank würde ich in eine eigene Schicht von 
Klassen auslagern, suche mal dach dem Konzept von DAOs (Database access 
objects).
Das ist für mittelgroße Anwendungen sauber, überschaubar und relativ gut 
in Sachen Performance.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren