Stand der String tatsächlich so in zwei Zeilen? Falls ja, fehlte ein rechtes Anführungszeichen.
Etwas schöner formatiert:
Delphi-Quellcode:
const _statm1 =
'insert into login '
+ 'values (NULL, (Select ID from Notebookwagen where name=''%s''),''%s'',''%s'')';
Wichtig beim Umbruch eines
SQL Statements als Stringliteral ist das Leerzeichen (hier am Zeilenende nach login). Sonst gibt es später einen Laufzeitfehler.
p.s. das INSERT ohne Angabe der Spaltennamen funktioniert bei späteren Tabellenerweiterungen nicht mehr. Besser daher: INSERT INTO LOGIN(FELDNAME1, FELDNAME2, FELDNAME3, FELDNAME4) VALUES (...)