Was ist am zweiten Versuch verkehrt,
bzw. warum verwendest du das nicht?
Stimmt die Syntax so überhaupt?
Ich bin mir fast sicher, dass das + in den String gehört, und nicht davor.
DATE(verfall, '+1 year')
QuotedStr ist ausschließlich für die Pascal-Syntax, also aus ' wird ''.
Du brauchst aber eine Quote/Escape-Funktion für die
SQL-Syntax, welche also aus ' ein \' machen, sowie aus \ ein \\ usw.
Hier wird es damit zufällig "funktionieren", so lange keine ' oder \ im String vorkommen.
Fazit: Such in deiner
DB-Komponente, bzw. in deren Units nach einer passenden Funktion.
Und ja, daß in vielen Beispielen, Tutorials usw. QuoteStr genommen wird, ist grauenhaft und es war schon immer falsch, aber immer wieder wird dieser Mist kopiert.