Hallo,
ich habe eine SQLite-Datenbank. Über ein
SQL in TSQLDataSet erstelle ich eine Abfrage. Abhängig vom Inhalt eines Feldes soll entweder der Inhalt eines Feldes oder die Kombination zweiter Felder in einem DBEdit-Feld angezeigt werden.
Code:
SELECT R.Titel AS Titel,
R.Bild AS Bild,
R.Zubereitung AS Zubereitung,
R.Bemerkungen AS Bemerkungen,
IIF(RU.UnterbereichName='',RB.BereichName,RB.BereichName||" - "||RU.UnterbereichName) AS Bereich
FROM REZEPTE AS R
LEFT JOIN RezeptBereich AS RB on (RB.RKategorieID=R.RKatergorieID)
LEFT JOIN RezeptUnterbereich AS RU ON (RU.RUKategorieID=R.RUKategorieID)
WHERE R.RezeptID=1
Leider wird beim Aktivieren von TSQLDataSet eine
Exception "TDBXError" ausgeworfen. In dem Datenbank-Tool "SQLite Expert Personal" funktioniert das
SQL-Statement fehlerfrei. Es scheint so, dass TSQLDataSet "IIF" (habe es auch schon nur mit "IF" versucht) nicht versteht. Ich würde aber gerne das Ganze über ein
SQL-Statement steuern und nicht noch explizit Code in Delphi schreiben.
Vielleicht hat jemand eine Idee oder das richtige Wissen.