Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
Delphi 8 Architect
|
Re: SQL Parser in Delphi
17. Feb 2004, 13:40
Das Beispiel geht von der Annahme aus, das einem WHERE zwingend ein Leerzeichen folgt (leider kann dem WHERE ein #13#10 vorangehen):
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,MaxInt)) > 0
do LastPos := pos('WHERE ',copy(UPPERCASE(QueryText),LastPos,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...
|