AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

SQLCmd Manipulation

Ein Thema von Gruber_Hans_12345 · begonnen am 31. Jul 2013 · letzter Beitrag vom 31. Jul 2013
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: SQLCmd Manipulation

  Alt 31. Jul 2013, 10:46
Wieso sollte das versagen?

Wenn kein Filter, dann mit "(1=1)" ersetzen.

Wenn du dynamisch mehrere Bedingungen haben möchtest, dann definiere dir eine Klasse, die diese Bedingungen entgegennehmen kann und dann für die Ersetzung zusammenbaut und per StringReplace dort einsetzt.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.441 Beiträge
 
Delphi 2007 Professional
 
#2

AW: SQLCmd Manipulation

  Alt 31. Jul 2013, 10:59
Wieso sollte das versagen?

Wenn kein Filter, dann mit "(1=1)" ersetzen.

Wenn du dynamisch mehrere Bedingungen haben möchtest, dann definiere dir eine Klasse, die diese Bedingungen entgegennehmen kann und dann für die Ersetzung zusammenbaut und per StringReplace dort einsetzt.

mein Hauptproblem ist aber das ich dieses (%WHEREADD%) wiederum dynamisch in die SQL Commands reinbringen müsste, da ich ja bestehende SQL Command bekomme die ich verarbeiten muss ... und dann bin ich ja wieder im selben dilemma ....
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: SQLCmd Manipulation

  Alt 31. Jul 2013, 11:38
Ok, aber von der Beschreibung her macht dieser

http://sourceforge.net/projects/gasqlparser/

doch einen guten Eindruck
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: SQLCmd Manipulation

  Alt 31. Jul 2013, 11:42
Also ohne Parser oder die Verwendung von Pattern im Basis SQL hast Du da schlechte Karten.

Vielleicht hab ich das falsch im Kopf, aber irgendjemand hat hier neulich nach Aufbau von Union Views gefragt, warst Du das?
Annahme:
So oder so, es ist der Erste Union View im Projekt, sonst würdest Du hier nicht mit der Frage aufschlagen.

Vorschlag:
Baue das Union SQL in einen View ein. Alle minimalen Where Bedinungen von Anfang an aufnehmen, alle Felder, die ggF. gefiltert werden mit ins SQL Select rein.

Im Ergebnis hast Du wieder nur eine Where Clause.
Haken an der Sache dürfte ggF. die Performance sein, da alle möglichen Felder für Where Kriterien mit geschleift werden müssen und natürlich immer über alles "gefiltert" wird.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: SQLCmd Manipulation

  Alt 31. Jul 2013, 15:39
Ich kann Deine Einwände nicht so ganz nach vollziehen.
Du hast einen AbfrageText vorgegeben
Code:
Select irgendwas
from irgendwo
where irgendeinebedingung
Daraus machs Du
Code:
Select irgendwas
from irgendwo
where 1=1
  and irgendeinebedingung
  and irgendwasneues
and irgendwasneues wir durch Deine zusätzlichen Bedingungen ersetzt

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.441 Beiträge
 
Delphi 2007 Professional
 
#6

AW: SQLCmd Manipulation

  Alt 31. Jul 2013, 15:45
Ich kann Deine Einwände nicht so ganz nach vollziehen.
Du hast einen AbfrageText vorgegeben
Code:
Select irgendwas
from irgendwo
where irgendeinebedingung
Daraus machs Du
Code:
Select irgendwas
from irgendwo
where 1=1
  and irgendeinebedingung
  and irgendwasneues
and irgendwasneues wir durch Deine zusätzlichen Bedingungen ersetzt

Gruß
K-H


Ja nur wie finde ich die Stelle wo ich das einfügen kann, darum geht es ja - das WHERE kann ja auch an stellen vorkommen wo ich nix dazufügen darf!
Drum werde ich mir mal den SQL Parser angucken müssen ....
Aber eine einfache Library wäre mir lieber
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: SQLCmd Manipulation

  Alt 31. Jul 2013, 17:57
Vielleicht kannst Du etwas genauer schildern, woher die SQL-Abfragen kommen und warum Du sie automatisch ergänzen musst.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:10 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