Einzelnen Beitrag anzeigen

Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: wird durch Query.SQL.Add() die Datenmenge geschlossen?

  Alt 8. Apr 2005, 15:40
Um ehrlich zu sein, verstehe ich nicht ganz, was du da machst.
Delphi-Quellcode:
ZQuery.Open;
ZQueryTmp.Open;

while not ZQueryTmp.Eof do // Hier läufst du durch deine Tabelle, die in zquerytmp gewählt wurde.
begin
  if ZQuery.Locate('No', ZQueryTmp.FieldValues['ID'] , []) then // Wenn du in ZQuery was findest, machst du etwas:
  begin
     // hier änderst du nur die SQL-Anweisung in ZQuery
     ZQuery.SQL.Add('Update tbl_MyData set No= '+ ZQueryTmp.fieldByName('ID').AsString)+' where No = '+
                            ZQueryTmp.fieldByName('ID').AsString);
     // und machst nichts damit.
  end;
  ZQueryTmp.Next; // Ab zum nächsten Datensatz
end;
Normalerweise läuft die Schleife durch und es wird nichts in der Tabelle tbl_MyData gemacht.

Ich habe das Gefühl, du unterschlägst einen Teil des Sources. Ich habe den ZEOS-Komponenten zwar nicht gearbeitet, aber bei allen anderen Query-Komponente, die ich kenne, führt ein Verändern der SQL-Anweisung NICHT zum close.
Erst ein :
Open
ExecSQL (Mag sein, dass es bei ZEOS anders heißt)
Active := True
führt implizit zu einem close.
Peter
  Mit Zitat antworten Zitat