AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Welchen SQL Parser benutzt ihr?
Thema durchsuchen
Ansicht
Themen-Optionen

Welchen SQL Parser benutzt ihr?

Ein Thema von heri · begonnen am 8. Jun 2009 · letzter Beitrag vom 11. Jun 2009
Antwort Antwort
Seite 2 von 2     12   
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Welchen SQL Parser benutzt ihr?

  Alt 11. Jun 2009, 05:59
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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
heri

Registriert seit: 20. Mär 2006
81 Beiträge
 
Delphi 2006 Enterprise
 
#12

Re: Welchen SQL Parser benutzt ihr?

  Alt 11. Jun 2009, 18:13
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:
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:
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!
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#13

Re: Welchen SQL Parser benutzt ihr?

  Alt 11. Jun 2009, 18:46
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?
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#14

Re: Welchen SQL Parser benutzt ihr?

  Alt 11. Jun 2009, 19:59
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
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz