AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Syntax

Ein Thema von xaverras · begonnen am 1. Jun 2005 · letzter Beitrag vom 3. Jun 2005
Antwort Antwort
Seite 2 von 2     12   
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#11

Re: SQL Syntax

  Alt 2. Jun 2005, 22:26
Zitat von omata:
also ADD liefert einen Integer zurück (die Einfügeposition) und ist deshalb eine Funktion. APPEND liefert keinen Rückgabewert und ist deshalb eine Prozedur.
...
Ich schreibe aber häufiger mal SQL-Anweisungen mit >200 Zeilen und da macht dann diese ADD-/APPEND-Geschichte keinen Spass mehr.
Wen interessiert denn welche Einfügeposition ? Ehrlich gesagt verstehe ich nicht, was du meinst. Und wenn die SQL-Anweisung sehr groß wird, na und ? 200 Zeilen sind doch nicht die Welt. Dann wirds allerdings Zeit, einiges aus Delphi zu verlagern. Frage mal Daniel, was Software-Engineering bedeutet. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: SQL Syntax

  Alt 3. Jun 2005, 03:02
@xaverras
Also, ich versuche es gern nochmal...

Die Eigenschaft SQL in einer TQuery oder auch TZQuery ist vom Typ TStrings und diese Liste enthält dann einfach den SQL-String. Mit Add oder Append können dann Zeilen hinzugefügt werden. Bei dieser Vorgehensweise muss man aber darauf achten, dass man SQL.Clear aufruft. Damit die alte SQL-Anweisung gelöscht wird, weil die Add bzw. Append Methode nur neue Zeilen anhängt.
Deshalb habe ich erwähnt, dass es sinnvoll ist mit SQL.Text:=''; den SQL-String zusetzen, dann hat man niemals Probleme mit irgendwelchen alten SQL-Resten. Man setzt einfach den kompletten SQL-String neu. Übrigens das haben sich wohl auch die Designer der neuen Datenbankkomponenten so überlegt. Dort ist es nämlich nur noch ein String.
Die Zoes-Komponente TZQuery ist identisch mit der TQuery in meinem Beispiel.

Da ein String in Delphi nicht mehr als 255 Zeichen haben darf (in einer Zeile) und das ja auch sehr unübersichtlich wäre, habe ich mal einen Vorschlag in meinen Beispielen aufgezeigt, wie man die SQL-Anweisung übersichtlich darstellen kann und alles in einem langen String zusammenfassen kann.
Das Zeichen #13 steht dabei für einen Zeilenumbruch. Dieser ist nicht so wichtig. Lässt man ihn allerdings weg, so muss jede Zeile mit einem Leerzeichen beendet werden, damit die SQL-Anweisung funktioniert.
Und als zusätzlichen Vorteil dieser Stringübergabe habe ich einfach noch erwähnt, dass es bei einem Umstieg auf neue Datenbankkomponenten bei dieser Vorgehenweise einfacher ist die Struktur umzubauen.

So, ich weiss nicht ob ich nun alle deine offenen Fragen beantwortet habe. Hoffe aber, es hilft dir weiter.

@Hansa
Zitat von Hansa:
Wen interessiert denn welche Einfügeposition ? Ehrlich gesagt verstehe ich nicht, was du meinst.
Genau, wen interessiert die Einfügeposition. Das ist doch genau das was ich gemeint habe. APPEND liefert diese Information nicht und ADD liefert sie. Also wieso ADD?

Zitat von Hansa:
Und wenn die SQL-Anweisung sehr groß wird, na und ? 200 Zeilen sind doch nicht die Welt. Dann wirds allerdings Zeit, einiges aus Delphi zu verlagern. Frage mal Daniel, was Software-Engineering bedeutet. 8)
ich wusste das, dass so ein Kommentar kommen musste. Eben nicht. Die Verlagerung würde nur bedeuten, das man irgendwelche unübersichtlichen Proceduren auf dem Server ablegen würde. Das macht das Software-Engineering nicht gerade übersichtlicher, wenn man es mit sehr vielen unterschiedlichen Anwendungen zu tun hat. Ausserdem sind diese großen Abfragen absicht, weil viele kleine Abfragen nicht so vom DB-Server optimiert werden können, als eine etwas größere, die dann aber alle Informationen bereit stellt.

Also, wie auch immer. Macht doch was ihr wollt...

Thorsten
  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 12:48 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