Select Join Probleme mit TParam

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Lorca
Beiträge: 196
Registriert: Di 3. Nov 2020, 12:25

Select Join Probleme mit TParam

Beitrag von Lorca »

Hallo zusammen,

SQL:
SELECT LNK_Band_Mbr.ID, LNK_Band_Mbr.MBR_Flag ,
LNK_Band_Mbr.ID_Band AS ID_Band ,
LNK_Band_Mbr.ID_Musiker AS ID_Musiker ,
LNK_Band_Mbr.CRT_Date ,
LNK_Band_Mbr.CHG_Date ,
Musiker.Name AS Name


FROM LNK_Band_MBR
INNER JOIN Musiker ON Musiker.ID = ID_Musiker
WHERE ID_Band = :ID_Band

bei der Zuweisung eines Parameters: QRY.ParamByName('ID_Band').AsInteger := 5
erhalte ich immer den Fehler das der Parameter "ID_Band" nicht gefunden wird.

Wenn ich die Komponente im Datenmodul mit diesem Parameter bei der Eigenschaft Params setze,
funktioniert dieser Join genau einmal. Wird die Band gewechselt, dann geht dieser Join in die Wicken.

Ohne die Eigenschaft Params geht dieser Join bereits beim ersten mal auf die Bretter,

Was mache ich falsch?

Viele Grüße
Lorca

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Select Join Probleme mit TParam

Beitrag von af0815 »

Generell keine Feldnamen und Parameternamen gleich halten. Ich hänge bei Parameter immer ein SQL vorne an, dann sieht man sofort was ist Parameter und was ist Feld.

Code: Alles auswählen

WHERE ID_Band = :SQLID_Band

Code: Alles auswählen

QRY.ParamByName('SQLID_Band').AsInteger := 5
Wenn du vielleicht zur Laufzeit das SQL-Statement in die Query lädst, dann kann es je nach Einstellung sein, das du die Parameter selbst Createn musst.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Lorca
Beiträge: 196
Registriert: Di 3. Nov 2020, 12:25

Re: Select Join Probleme mit TParam

Beitrag von Lorca »

Hallo af0815,

danke, jetzt funzt es. :)

Gruß
Lorca

Antworten