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.