Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Welchen SQL Parser benutzt ihr? (https://www.delphipraxis.net/135305-welchen-sql-parser-benutzt-ihr.html)

heri 8. Jun 2009 20:49

Datenbank: MSSQL • Zugriff über: ADO

Welchen SQL Parser benutzt ihr?
 
Ich brauche einen SQL Parser?

gefunden habe ich aber nur den www.sqlparser.com

kennt jemand noch andere bzw. wer hat Erfarhungen mit dem General SQL Parser?

thx für euren Input

mkinzler 8. Jun 2009 20:53

Re: Welchen SQL Parser benutzt ihr?
 
http://fast-report.com/de/products/v...y-builder.html ist auch teil von FastReports

heri 8. Jun 2009 21:06

Re: Welchen SQL Parser benutzt ihr?
 
kennt jemand die "Stabilität" vom freien
http://sourceforge.net/projects/gasqlparser
ist dort nur als AlphaVersion verfügbar?

@mkinzler
ich kann nicht erkennen ob der "FASTQUERYBUILDER - SQL Query Builder" auch Syntaxcheck etc. beherrscht?

mkinzler 8. Jun 2009 21:18

Re: Welchen SQL Parser benutzt ihr?
 
Lade dir doch einfach mal das Demo und/oder die Trialversion herunter

omata 8. Jun 2009 21:52

Re: Welchen SQL Parser benutzt ihr?
 
Was willst du eigentlich machen?

heri 9. Jun 2009 06:22

Re: Welchen SQL Parser benutzt ihr?
 
ich möchte meiner Applikation ein SQL Statement manipulieren - zB im SELECT ein zusätzliches Feld einfügen, die WHERE Clause löschen etc. etc.

Das kann man ja alles selber machen aber wenn's dann zB heisst SELECT x=(SELECT y from...) dann wirds schon spannender...

mschaefer 9. Jun 2009 17:13

Re: Welchen SQL Parser benutzt ihr?
 
Dotnet_SQL_parser

mschaefer 9. Jun 2009 19:44

Re: Welchen SQL Parser benutzt ihr?
 
SQL-Parser von Richard Kaspar

mschaefer 10. Jun 2009 21:14

Re: Welchen SQL Parser benutzt ihr?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Oder man geht einen anderen Ansatz. Indem die SQL-Bestandteile
einzeln hinterlegt werden, sind sie ohne Parser zu manipulieren.

Grüße // Martin

mschaefer 10. Jun 2009 22:13

Re: Welchen SQL Parser benutzt ihr?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin, moin,

Um diesen Monologthread noch etwas zu füllen kommt
jetzt noch der RAK_SQLParser im Anhang, damit er nicht
verloren geht, da er wohl einer der interesanteren
Componenten ist.

Bin mal gespannt welchen Weg Ihr wählen würden...

Grüße // Martin



PS:
- Wieso etwas zu verwenden, wenn es da ist....
- Warum gibt es SQL Parser...
- Warum SQL...

Stelle immer wieder fest, dass warum und wieso Fragen letztlich
etwas philosophisches haben und wie die Suche nach der Wahrheit
nicht wirklich beantwortet werden können...

alzaimar 11. Jun 2009 05:59

Re: Welchen SQL Parser benutzt ihr?
 
Zitat:

Zitat von heri
ich möchte meiner Applikation ein SQL Statement manipulieren - zB im SELECT ein zusätzliches Feld einfügen, die WHERE Clause löschen etc. etc.

Das kann man ja alles selber machen aber wenn's dann zB heisst SELECT x=(SELECT y from...) dann wirds schon spannender...

So würde ich das für einen falschen Ansatz halten. Ein SELECT ist ja letztendlich die textuelle Darstellung einer Datenbankanfrage. Diese Anfrage würde ich als Klassenmodell implementieren. Diese Query-Klasse kann dann eine Anfrage 'rendern'. Z.B. grafisch, als deutschen Satz oder eben als SQL-Query.

In SELECT-Statements rumfrickeln halte ich für sehr exotisch. Beschreib doch mal, wieso du auf diese Lösung gekommen bist.

heri 11. Jun 2009 18:13

Re: Welchen SQL Parser benutzt ihr?
 
Vielen Dank für die ganzen Inputs!

Ich habe die verschiedenen Vorschläge und was ich sonst noch so gefunden habe mal verglichen, bin aber noch zu keinem endgültigen Entschluss gekommen.

Nochmals kurz zu dem was ich machen möchte:
Ich habe eine vordefinierte Abfrage - zB:
SQL-Code:
Select * from tKunden
Zusätzlich kann der Benutzer definieren in welchen Spalten ein Suchwert gesucht werden soll - zB in den Spalten:
Name, Vorname, Ort

jetzt habe ich ein Feld in welchem der Benutzer einen Suchwert eingeben kann - zB: %xy%

und so sollte auf einfachste Weise mein SQL Statement gebaut werden:
SQL-Code:
Select * from tKunden where Name like '%xy%' OR Vorname like '%xy%' OR Ort like '%xy%'
ist das so exotisch?

zu beachten ist dabei natürlich - das ist nur das einfachste Beispiel einer vordefinierten Abfrage!

Meine Vorstellung - "frei von der Leber" - ist sowas wie :

Delphi-Quellcode:
with TMySQLParser.Create('select * from tKunden') do
var
sTable: String;
begin

  sTable := getTable;

  addfield('land');
  deletefield('telefon');

  addwhere('name like ''%xy%''');

  addorderby('name');

  etc.etc.

  Free;
end;

@mschaefer:
der RAK_SQLParser ist wirklich gewaltig!
habe bei dieser Lösung ein bisschen die Angst "mit Kanonen auf Spatzen zu schiessen"

aber es ist schon so - SQL ist riesig und da brauchst glaub schlussendlich sowas gewaltiges um möglichst flexibel zu sein!

Die Muhkuh 11. Jun 2009 18:46

Re: Welchen SQL Parser benutzt ihr?
 
So simpel wie Dein Beispiel aussieht, brauchst da ja keinen richtigen "Parser". Da kannst Du Dir auch selbst was basteln.

Das Ding soll Dir nachher nur den SQL-String geben, welchen Du an die ausführende Komponente übergibst?

mschaefer 11. Jun 2009 19:59

Re: Welchen SQL Parser benutzt ihr?
 
Naja das fängt ja immer klein an und wächst dann doch recht schnell in den Anforderungen:

- Die Buttons für das Umsortieren der Datenmenge am Listenkopf
- Das Suchfeld
- Datumsbereich in dem gesucht werden soll

da wird das dann schnell aufwendiger. Leider habe ich keinen wirklich gut dokumentierten
Parser gefunden. Ein live-Beispiel von alzaimer würde mich auch faszinieren, befürchte aber
das Rendern der SQL wird auch nicht einfacher..

Grüße // Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz