AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Connection Timeout

Ein Thema von fabi17 · begonnen am 4. Okt 2021 · letzter Beitrag vom 4. Okt 2021
 
Delphi.Narium

Registriert seit: 27. Nov 2017
2.578 Beiträge
 
Delphi 7 Professional
 
#4

AW: ADO Connection Timeout

  Alt 4. Okt 2021, 12:39
Dashier geht unter SQL normalerweise nicht: Status = NULL
In allen mir bekannten SQL-Varianten heißt das Status is NULL .

Mich irritiert das with, hab' das mal umgeschrieben, so in der Art, wie es bei mir vermutlich aussehen würde (aber ungetestet):
Delphi-Quellcode:
function GetGesamtpreis(ADO : TADOQuery; Belegnummer : String; Steuer1 : Integer) : Currency;
begin
  // Statt .Value lieber den korrekten Datentyp nehmen - wegen Typsicherheit.
  ADO.Parameters.ParamByName('P1').AsString := Belegnummer;
  ADO.Parameters.ParamByName('P2').AsInteger := Steuer1;
  // Ist das in der DB ein VarChar oder so?
  ADO.Parameters.ParamByName('P3').AsString := '0';
  ADO.Open;
  Result := ADO.Fields[0].AsCurrency;
  ADO.Close;
end;

begin
  ADO.Close;
  ADO.Sql.Clear;
  ADO.Sql.Add('select Sum(IsNull(GesamtPreis,0)) as GesamtPreis from BelegP');
  ADO.Sql.Add('where Belegnummer = :P1');
  ADO.Sql.Add('and (Status = 0 or Status is NULL)');
  ADO.Sql.Add('and Steuersatz = :P2');
  ADO.Sql.Add('and Kennzeichen = :P3');
  // Hier die Schleife:
  for i := 0 to Stringlist.Count - 1 do begin
    // Woimmer jetzt auch Belegnummer herkommt
    irgendeinevariabel := GetGesamtpreis(ADO, Stringliste[i], MainMenu.Steuer1);
  end;
end;
Sinn der parametrisierten Abfrage ist es ja (u. a.), dass das SQL nicht jedesmal neu zusammengebaut werden muss, sondern nur einmalig. Danach werden nur noch die Parameter je Abfrage entsprechend gesetzt.

Geändert von Delphi.Narium ( 4. Okt 2021 um 12:40 Uhr) Grund: Schreibfehler ...
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz