Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Datenbankabfrage in Array speichern

  Alt 11. Jun 2017, 17:04
Das Problem jedoch ist folgender, dass ich nicht nur eine, sondern alle mit der selbigen ReKatID löschen möchte.
mit  delete from tabelle1 where feld1=meinwert; werden alle Einträge aus Tabelle1 entfernt, wo der Inhalt von Feld1 Meinwert ist.
Es sei denn irgendwelche Constraints oder Trigger sind der Meinung, das darf man so nicht.

Wo genau taucht die Fehlermeldung auf?
in Deinem Sourcecode wird nirgendwo eine Löschung durchgeführt.

Zitat von haentschman:
//ZQuery.SQL.Clear; //nicht nötig
//ZQuery.Params.Clear; //nicht nötig
Hallo haentschman,

wieso ist das nicht nötig? Es geht doch hierbei um die Vermeidung eventueller Fehler. Ich benutze SQL.Text und Params nicht nur ein mal im kompletten Quelltext. Mir wurde erklärt, dass das immer eine Prävention zu eventuell auftretenden Fehlern ist.
Jain, das ist notwendig, wenn Du einen bestimmten Inhalt benötigst, Du Dich aber nicht darauf verlassen kannst, daß die Variable den Wert auch wirklich hat.
In diesem Falle wird mit .SQL.Text:='blabla' genau dieses erreicht.
Dein Vorgehen ist kein schwerer Fehler aber überflüssig und bevor sich da eine schlechte Angewohnheit breit macht.
(meiner Meinung nach fällt das weit verbreitete
Delphi-Quellcode:
.SQL.Lines.Clear;
.SQL.Lines.Add('blabla');
.SQL.Lines.Add('blubblub');
in die gleiche Kategorie. Da lieber gleich
Delphi-Quellcode:
.SQL.Text:='blabla'+
     'blubblub';

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (11. Jun 2017 um 17:09 Uhr)
  Mit Zitat antworten Zitat