Thema: Delphi SQL Parser in Delphi

Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#6

Re: SQL Parser in Delphi

  Alt 17. Feb 2004, 15:33
Lass das Leerzeichen halt weg.
Wenn Du meinen Code dann noch so änderst, funktioniert er auch (ausserdem ist die Whileschleife keineswegs langsam - sie wird maximal so oft durchlaufen, wie "Where" im statement vorkommt-1, d.h. bei einem "Where" wird sie nichtmal starten)!
Delphi-Quellcode:
var
  FirstPos,
  LastPos : Integer;
  UGotTheFirst,
  UGotTheLast,
  ThereAreMany : Boolean;
  QueryText : String;
begin
  FirstPos := 0;
  LastPos := 0;
  FirstPos := pos('WHERE',UPPERCASE(QueryText));
  UGotTheFirst := (FirstPos > 0);
  LastPos := FirstPos;
  while pos('WHERE',copy(UPPERCASE(QueryText),LastPos+5,MaxInt)) > 0
    do LastPos := LastPos+5+pos('WHERE',copy(UPPERCASE(QueryText),LastPos+5,MaxInt));
  UGotTheLast := (LastPos > 0);
  ThereAreMany := (FirstPos <> LastPos);
end;
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat