Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Quelltextformatierer programmieren

  Alt 7. Dez 2011, 13:30
Sollte man da nicht beim Erstellen der SQL-Statements direkt ansetzen? Wir bauen die uns immer als Stringfunktkion mithilfe einer Extra (auf einer TStringList basierenden) Klasse zusammen. Beispiel:

SQL-Code:
function SQL_Main:String;
var s:TSQL;
begin
  s:=TSQL.Create;
  s.Add:='Select';
  s.Add:=' *';
  s.Add:='From';
  s.Add:=' ('+SQL_Subselect+')';
  s.Add:='Where';
  s.Add:=' myVarCharFeld=' + s.OracleString(IrgendeineStringVariable);
  Result:=s.Text;
  s.Free;
end;

function SQL_Subselect:String;
var s:TSQL;
begin
  s:=TSQL.Create;
  s.Add:='Select';
  s.Add:=' T1.*, T2.MyFeld';
  s.Add:='From';
  s.Add:=' Tabelle1 T1';
  s.Add:='Left Join';
  s.Add:=' Tabelle2 T2';
  s.Add:='On'
  s.Add:=' T1.FID=T2.ID';
  Result:=s.Text;
  s.Free;
end;
Mmn kann man 100+ zeileige SQL-Statements mit vielen Verschachttelungen eh kaum noch verstehen, auch wenn sie noch so gut formatiert sind. Da ist es leichter jede Verschachtelungsebene selber in der entsprechenden Unterfunktion prüfen zu können.
Ralph
  Mit Zitat antworten Zitat