Tag zusammen,
ich habe eine Stringlist mit Belegnummern, die ich in einer Schleife nachberechne.
Die Prozedur zur Nachberechnung ist ganz klein und es sind auch nicht viele Records, dennoch läuft meine
ADO Connection in einen Timout,
aber nur beim letzten Eintrag der Stringlist (der ist auch nicht null).
Die Prozedur geht ungefähr so:
Delphi-Quellcode:
with ADO do
begin
Close;
Sql.Clear;
Sql.Add('
select SUM(GesamtPreis) AS GesamtPreis FROM BelegP WHERE Belegnummer =:P1 AND (Status = 0 OR Status = NULL) AND Steuersatz = :P2 AND Kennzeichen =:P3');
Parameters.ParamByName('
P1').Value := Belegnummer;
Parameters.ParamByName('
P2').Value := MainMenu.Steuer1;
Parameters.ParamByName('
P3').Value := '
0';
Open;
result := IfNull(FieldByName('
GesamtPreis').Value, 0);
end;
An der Timeout Zeit kann es nicht liegen. Den RecordCount kann ich auch nicht abfragen, da bei SUM ja immer eine Zeile zurückgegeben wird. Hat jemand eine Idee, wieso es zum Timeout kommt? Für mich macht es keinen Sinn, da es auch nur beim letzten Eintrag passiert und davor durchläuft. Es handelt sich um einen
MSSQL Server (lokal) mit Windows Server 2019.
Danke vorab für jede Hilfe
Viele Grüße