Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Quelltext in String konvertieren

  Alt 3. Mai 2019, 08:12
Hallo,

Ich habe oft den Fall, dass ich längere mehrzeilige SQL-Queries als String brauche. Entsprechende Einfüge-Funktionen gibts in MMX, CnPack und GExperts, nur dummerweise bei keinem so wie ich es bräuchte. Ein Beispiel:
Code:
SELECT T1.A AS NAME_1,
       T2.A AS NAME_2,
       T2.B AS NAME_3
FROM MY_TABLE_1 AS T1
LEFT JOIN MY_TABLE_2 AS T2
  ON T1.KEYFIELD=T2.KEYFIELD
WHERE T2.C=:MY_PARAM_1
ORDER BY T2.B;
Daraus sollte werden:
Delphi-Quellcode:
'SELECT T1.A AS NAME_1, ' +
       'T2.A AS NAME_2, ' +
       'T2.B AS NAME_3 ' +
'FROM MY_TABLE_1 AS T1 ' +
'LEFT JOIN MY_TABLE_2 AS T2 ' +
  'ON T1.KEYFIELD=T2.KEYFIELD ' +
'WHERE T2.C=:MY_PARAM_1 ' +
'ORDER BY T2.B;';
Für sowas wäre es ideal, wenn Delphi HereDoc unterstützen würde anstatt dass man solche Klimmzüge machen muss. In meinem Fall scheidet auch die sauberere Lösung mit den Resourcenstrings aus, weil ich die Queries dynamisch zusammenbauen muss. Am nächsten dran ist für meinen Bedarf noch GExperts. Allerdings muss ich hier dann noch einen zweiten Schritt gehen und alle "'," in "' +" ersetzen. CnPack und MMX konvertieren jeweils noch die Zeilenumbrüche in "#13#10", was ja hier im Fall von SQL völlig unnötig ist.

Insgesamt halt ein bissl mühselig bei langen Queries. Der oben gezeigte ist ja noch winzig im Vergleich...

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden

Geändert von Codehunter ( 3. Mai 2019 um 08:16 Uhr)
  Mit Zitat antworten Zitat