Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Was mache ich nach dem Löschen aus DbTabelle ?


D. Annies - Do 29.04.10 22:09
Titel: Was mache ich nach dem Löschen aus DbTabelle ?
Hi, Delpher,

folgender Code:

Delphi-Quelltext
1:
2:
3:
4:
  TbBuchstamm.locate('TITEL', Artikelname.Text, []);
  TbBuchstamm.delete;
  showmessage('Buch '+ Artikelname.Text+ ' aus Buchstamm gelöscht!');
  // TbBuchstamm.Refresh; qBuchstammSort(self);   // ja oder nein? oder anders?


soll die wegkommentierte Zeile bleiben oder verändert werden?
Danke, Detlef


uko - Fr 30.04.10 07:49

Was willst Du denn nach dem Löschen noch alles machen? Den Refresh solltest Du Dir vermutlich sparen können. Und ob ein Sortieren (von was auch immer) noch nötig ist, mußt Du selbst wissen. Vermutlich nicht, wenn Du aus einer bereits sortierten Liste was löscht, dann sollte sie sortiert bleiben.

Uli


zuma - Fr 30.04.10 07:51

Das kannst eigentlich nur du selbst beantworten. Wenn ein Buch gelöscht wurde, zwingst du den User ja durch dein showmessage zur Kenntnisnahme. Ob Du ihm dann die bereits gelöschten Daten noch zeigen willst (evtl. um einen Löschirrtum direkt wiederherstellen zu können) oder aber das nächste Buch anzeigst (oder ne Meldung, wenn keines mehr da ist), liegt ja in deinem Ermessen. Ich persönlich würde immer das nächste Buch (sofern vorhanden) anzeigen, denn normalerweise erwartet man ja, das man nach dem löschen die Daten auch nicht mehr sieht.
Eins fällt mir bei deinem gepostetem Code noch auf:
wenn dein Locate fehlschlägt, löscht du einfach trotzdem einen Datensatz. Ein
[delphi]
if Locate .. then
begin
delete;
showmessage();
end
else
showmessage('Nicht gefunden');
[delphi]
wäre da sicherlich besser.


D. Annies - Fr 30.04.10 08:28

Danke an alle, besonders zuma!