Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Überladung Verbindung oder Variable ?

  Alt 15. Nov 2018, 19:15
Hallo,
Zitat:
Wenn ich Query.Close vergesse würde der "Query" sich immer weiter füllen
Nein, weil Du ja in Deinem Code irgendwo SQL.Add() stehen hast.
Und wenn Du das SQL.Clear vergisst, steht dann sowas wie
Select Feld1 From Tabelle1
Select Feld2 From Tabelle2
Das nächste Open schlägt dann eh fehl, wegen ungültiger SQL-Abfrage.
Ausserdem löscht ein Query.Open den internen Puffer (Array).

Zitat:
Deshalb nimmtman auch SQL.Clear
Das nimmt man, um einfacher mehrzeilige SQL-Abfragen zu bauen.
Query1
Query.SQL.Add('Select * From Tabelle1');
Query.SQL.Add('Where Id1=5');

Query2
Query.SQL.Add('Select * From Tabelle2');
Query.SQL.Add('Where Id2=10');

Lasse ich dazwischen das SQL.Clear weg, kommt raus
Select * From Tabelle1
Where Id1=5
Select * From Tabelle2
Where Id2=10

Mit dem SQL.Clear steht in bei der 2. Query nur
Select * From Tabelle2
Where Id2=10
drin, also das was Du wohl auch erwartet hast ...

Params.Clear ist nicht notwendig, weil SQL.Clear das selber macht.

Zitat:
und auch "Item" oder nicht ?
Das ist was anderes.
ein fehlendes MainFRM.listview14.items.Clear;
füllt den ListView immer weiter.
Heiko

Geändert von hoika (15. Nov 2018 um 19:26 Uhr)
  Mit Zitat antworten Zitat