AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken ACCESS: mehrfach benutzter Parameter in UNION ?
Thema durchsuchen
Ansicht
Themen-Optionen

ACCESS: mehrfach benutzter Parameter in UNION ?

Ein Thema von FediDelPr · begonnen am 18. Feb 2019 · letzter Beitrag vom 21. Feb 2019
Antwort Antwort
FediDelPr

Registriert seit: 16. Feb 2018
115 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

AW: ACCESS: mehrfach benutzter Parameter in UNION ?

  Alt 18. Feb 2019, 20:13
Danke für die prompte Antwort.

Ich habe nun alles nochmals überprüft:

DISTINCT ist ok, vermutlich könnte man das auch einfacher formulieren, der Parameter
im ersten SELECT enthält bereits den gesuchten Wert.

so etwa SELECT :ParamInteger1: FROM Hierarchie (nicht geprüft)
Das Resultat der ersten Abfrage kommt in der zweiten nicht vor (garantiert). Daher ist auch
UNION ohne ALL ok.

Die einzelnen Abfragen liefern die richtigen Ergebnisse.

Mit dem Einfügen der Debug-Info 'erste bzw. zweite Abfrage' ändert nichts, aber es wird
noch klarer.

Mit zwei Parametern läuft die Geschichte, mit einem erscheint nach wie vor nur die
Abfrage vor dem UNION. Ich habe früher schon einmal etwas sehr ähnliches realisiert.
Auch da habe ich diese Verhalten festgestellt.

Evtl. sieht's ohne UNION anders aus ?
  Mit Zitat antworten Zitat
FediDelPr

Registriert seit: 16. Feb 2018
115 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: ACCESS: mehrfach benutzter Parameter in UNION ?

  Alt 18. Feb 2019, 20:25
@Schokohase

werde ich probieren.
  Mit Zitat antworten Zitat
FediDelPr

Registriert seit: 16. Feb 2018
115 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: ACCESS: mehrfach benutzter Parameter in UNION ?

  Alt 20. Feb 2019, 22:40
@Schokohase

Ich verstehe deinen Vorschlag doch nicht ganz. Können wirklich mehrere Parametereinträge
mit dem gleichen Namen existieren ?

Delphi-Quellcode:
Hier hilft nur die Iteration durch die Parameter und die Abfrage des Namens.
markieren

Dein Delphi-Quellcode:

for param in ADOQuery1.Paramerters do
begin
  if param.Name = 'ParamInteger1then
    param.Value := 1;
end;
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#4

AW: ACCESS: mehrfach benutzter Parameter in UNION ?

  Alt 20. Feb 2019, 23:10
Was soll ich darauf antworten, da du mir ja nicht glaubst.

Ich: "Doch!"
Du: "Wirklich?"
Ich: "Ja!"
Du: "Nein, echt?"
...

Schreib dir doch einfach ein Stück Code, das dir alle Parameter einer Query mit Namen ausgibt.

Oder du schaust einfach mal in den Objekt-Inspektor
2019-02-21 00_31_06 AdoParams.png

Geändert von Schokohase (20. Feb 2019 um 23:33 Uhr)
  Mit Zitat antworten Zitat
FediDelPr

Registriert seit: 16. Feb 2018
115 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: ACCESS: mehrfach benutzter Parameter in UNION ?

  Alt 21. Feb 2019, 10:32
@Schokohase

Es ist nicht so, dass ich dir nicht glaube.
Viele eher, ich verstehe deinen Code einfach noch nicht.

Ich habe gesehen, dass mehrere Parametereinträge unter dem gleichen Namen
möglich sind. Mir ist aber nicht klar wie dann zwischen den Einträgen unterschieden
wird, in welchen ich den Wert wirklich eintrage.

Überhaupt ist mir noch nicht klar, wie und wann die Einträge in ADOQueryx.Parameters
wirklich erfolgen. Durch Parameter-Extraktion des SQL-Textes ? Wenn ich diesen ändere,
wird dann die Parameterliste nachgeführt ?

Wenn ich sie explizit bearbeite, was ich normalerweise nicht tue, wie ist dann das Verhalten ?
Mir scheint sie wird dann nicht durch Parameter im SQL-Text überschrieben.

Ich habe schon sehr viele Stunden mit Delphi verbracht, aber eigentlich ist das nur ein Randjob von mir und ich verwende daher nicht die enormen Möglichkeiten der IDE.
Ein Beispiel:
Wie schaue ich mir die tatsächlichen Parameter-Einträge zur Runzeit an ? Da kenne ich
sicher noch nicht alle Möglichkeiten.
  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:17 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