Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.185 Beiträge
 
Delphi 12 Athens
 
#18

AW: Speicherleaks TMemoryStream in einem Objekt

  Alt 17. Jan 2024, 03:05
QuotedStr ist nicht für SQL (ja, ich weiß, dass es alle verwenden.
QuotedStr ist für die Syntax der Delphi-Strings, im Quellcode und kennt auch nur dessen Escaping.

Für die Datenbanken sollten/müssten Query-Komponenten eigentlich eine passende Funktion irgendwo besitzen, welche die Syntax des jeweiligen SQL-Textes versteht.

Also erstmal vermute ich nicht, dass er etwas "Neues" meint, was jetzt endlich geht.
MultiLine-Strings

Ob Clear und Add oder nur "ein" Text:= ist Geschmackssache.
PS: 'SELECT format(bstlyn__.vrz__dat, ''dd.MM.yyyy'' AS Lieferdatum, '+
Und seit Delphi 12 geht nun sowas:
Code:
      MsQuery.SQL.Add('''
        SELECT format(bstlyn__.vrz__dat, 'dd.MM.yyyy') AS Lieferdatum,
          bstlyn__.bsbn_kla AS Bestellnummer,
          concat(knp__vnm, ' ', knp__nam) AS Besteller,
          bstlyn__.zynrefkl AS ArtNr,
          bstlyn__.afg_oms1 AS Bezeichnung,
          bstlyn__.l_aantal AS Liefermenge,
          bstlyn__.lbn__ref AS Lieferschein,
          konper__.straat__ AS Strasse,
          konper__.post_ref AS PLZ,
          konper__.postnaam AS Ort,
          konper__.land_ref AS Land
        FROM bstlyn__
        LEFT JOIN konper__ ON konper__.lok__ref = bstlyn__.lok__ref
          AND konper__.knp__ref = bstlyn__.knplkref
        LEFT JOIN bstext__ ON bstext__.lyn__ref = bstlyn__.lyn__ref
        LEFT JOIN wafgfl__ ON wafgfl__.lyn__ref = bstlyn__.lyn__ref
        WHERE l_aantal > 0
          AND bstlyn__.kla__ref = :KundenNr
          AND bstlyn__.afg__ref not IN (&VArtikel)
          AND vrz__dat >= :Von
          AND vrz__dat <= :Bis
        ''');
      MsQuery.ParamByName('Von').AsDate := Von;
      MsQuery.ParamByName('Bis').AsDate := Bis;
      MsQuery.ParamByName('KundenNr').AsString := Kunde;
      MsQuery.MacroByName('VArtikel').Value := VArtikel;
(nicht als [DELPHI], da das Forum mit sowas noch Probleme hat und alle führenden Leerzeichen vergisst)


Vermutlich will er aber mehr darauf hinaus, dass es auch andere Möglichkeiten gibt, als "statische" SQLs im Code zu verwenden.
* einmal kann man SQLs auch in andere Dateien (Ressourcen) auslagern, wo es (früher) bessere Möglichkeiten des Schreibens gibt
* oder garkeine Texte, sondern etwas objektorientiertes Selbstgenerierendes
* oder ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (17. Jan 2024 um 03:09 Uhr)
  Mit Zitat antworten Zitat