AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Plötzlich neues Feld nach SELECT - Abfrage
Thema durchsuchen
Ansicht
Themen-Optionen

Plötzlich neues Feld nach SELECT - Abfrage

Ein Thema von Blitzschutz1 · begonnen am 3. Sep 2022 · letzter Beitrag vom 4. Sep 2022
Antwort Antwort
Blitzschutz1

Registriert seit: 2. Dez 2011
Ort: Vogtland
27 Beiträge
 
Delphi 12 Athens
 
#1

AW: Plötzlich neues Feld nach SELECT - Abfrage

  Alt 4. Sep 2022, 09:56
Moin...

Sorry, aber für die Mitlesenden Neulinge...

Der Code ist ein Kandidat für ein umfassendes Refactoring.

1: SQL keine Parameter:
https://de.wikipedia.org/wiki/SQL-Injection
...besser
Delphi-Quellcode:
 
sqlAbfrage := sqlAbfrage +
              ' SELECT tabelle1.*, tabelle2.* ' +
              ' FROM ' +
              ' tabelle1, tabelle2' +
              ' WHERE ' +
              ' tabelle1.ag_id = :DID' +
              ' AND ' +
              ' tabelle2.vst_id = :DID';
 AQuery.ParamByName('DID').AsInteger := ADasaId;
Das SQL so zusammenzusetzen ist nicht mein Fall...die '' + Orgien. Ist aber Geschmackssache...
... habe ich im Originalcode drin. Der Einfachheit halber aber hier vor dem Post rausgenommen...

vst_id ist bestimmt zwei Mal im Select
und da Namen eindeutig sind, wird hier einfach hochgezählt.

Ist wie das selbe Feld, nur quasi mit AS umbenannt.

hier kann es nur aus beiden Tabellen kommen,
aber es passiert auch gern, wenn man Felder explizit drin hat und zusätzlich noch einmal das *
Danke @himitsu, das wird es wohl sein!

Ich habe das Feld vst_id einmal in Tabelle1 als ganz normales Integer-Feld (dahinein kommt nach erfolgreichem Eintrag des zugehörigen Dasa in Tabelle2 die dort im Feld vst_id (PK) erzeugte Datensatz-ID). Und das andere Mal, wie gerade geschrieben, in Tabelle2 als Pk-Feld. Nun war ich immer der Meinung, dass die Zuordnung über Tabellenname.Feldname eindeutig wäre und es egal ist, ob zwei Felder in unterschiedlichen Tabellen gleiche Namen haben.

Offensichtlich falsch, also setzen 5 und lernen!

Ich werde Euren Rat befolgen und die Abfrage umbauen (also ohne *).

Schönen Sonntag!
Wenn die Klugen nachgeben geschieht das was die Dummen wollen!
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:13 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