Also erstmal danke an euch beide.
Die Verfahren Parser und Tokenizer sind mir bekannt, jedoch scheue ich den Aufwand. Dachte nur, dass vielleicht dies schon einer mal programmiert hatte und sein Wissen teilt
.
Also das Ganze wird scheinbar sehr komplex. Mal zu dem Hintergrund: Mein Vorhaben besteht darin, dass ich ein BI (Business Intelligence) - Modul für
MySQL-
DB's programmieren möchte, dabei soll der Anwender die Abfrage nicht von Hand schreiben, sondern mithilfe eines Editors bearbeiten. Da man auch die Abfragen bearbeiten können muss, ist es notwendig die Abfrage wieder zu zerlegen.
Nun hatte ich mir überlegt die Abfrage nicht fest in die
DB zu schreiben, sondern die Bestandteile in spez. Tabellen abzulegen, sodass die Abfrage zu Laufzeit erstellt wird. Sprich es gibt Tabellen mit folgenden Strukturen und Inhalten:
Delphi-Quellcode:
TABELLE BI_AnzeigeFelder
id abfrageID TabellenFeld
1 3 contacts.longname
2 3 count(*) as a_counter
TABELLE BI_Bedingungen
id abfrageID Bedingung
1 3 rts.group=5
2 3 rts.date LIKE '2007-06-__'
TABELLE BI_GruppierungsFeld
id abfrageID Bedingung
1 3 rts.contact
Usw. Ich denke mal das Grundprinzip ist klar. Macht dies Sinn, wenn ich meine Programmierung in diese Richtung lenke?
Gruß