Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
SQL Statement analysieren
Floschi
myCSharp.de - Member

Avatar #avatar-2723.png


Dabei seit:
Beiträge: 193

Themenstarter:

SQL Statement analysieren

beantworten | zitieren | melden

verwendetes Datenbanksystem: FireBird

Hallo,

Ich bekomme eine dynamisch generierten Sql-String den ich gerne analysieren möchte.
Ich möchte diesen gerne zerlegen in seine Bestandteile um dann den Tabellennamen die Spaltennamen und die abfragewerte weiter behandeln zu können.

FRAGE: Gibt es dazu etwas in C#(.NET) ????


Danke im Vorraus
If debugging is the process of removing bugs, then programming must be the process of putting them in.
Dijkstra
private Nachricht | Beiträge des Benutzers
davidG
myCSharp.de - Member



Dabei seit:
Beiträge: 67

beantworten | zitieren | melden

Ich weiß grad nicht, ob es schon einen fertigen SQL Statement Parser im Framework gibt. Ich glaube mal nicht.
Darum müsstest du dir einen eigenen Parser bauen. Diesen könnte man mit Regulären Ausdrücken verwirklichen oder mit den String.Methoden wie string.IndexOf(), string.Substring(), string.PadRight() etc.
„Ich erfand den Begriff «objekt-orientiert», und ich kann sagen, dass ich dabei nicht C++ im Sinn hatte.“ Alan Kay
private Nachricht | Beiträge des Benutzers
Floschi
myCSharp.de - Member

Avatar #avatar-2723.png


Dabei seit:
Beiträge: 193

Themenstarter:

beantworten | zitieren | melden

Danke!

(Ist ein Haufen Arbeit! X()
If debugging is the process of removing bugs, then programming must be the process of putting them in.
Dijkstra
private Nachricht | Beiträge des Benutzers
pewe
myCSharp.de - Member



Dabei seit:
Beiträge: 7

beantworten | zitieren | melden

Hi,

ich würde eher nicht mit indexof etc anfangen... Wenn es sauber werden soll, nimmst Du Dir einen Parsergenerator....

Google sagt zu c#, parser und sql:

http://www.antlr.org:8080/pipermail/antlr-interest/2002-November/002309.html
private Nachricht | Beiträge des Benutzers
kleines_eichhoernchen
myCSharp.de - Member

Avatar #avatar-2079.jpg


Dabei seit:
Beiträge: 3.971
Herkunft: Ursprünglich Vogtland, jetzt Much

beantworten | zitieren | melden

An sich ist es gar nicht so schwierig...
als erstes mit Regex die jeweiligen Gruppen aufteilen (SELECT, FROM, WHERE, ORDER,GROUP,HAVING) und anschließend für jeden Block den spezifischen Aufbau (Spalten, JOINS usw)
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
private Nachricht | Beiträge des Benutzers