Ein
WHERE false
oder
LIMIT 0
würde sich an deinem SELECT bestimmt nicht schlecht machen, denn wozu erst die GANZE Tabelle laden, wenn nur etwas eingefügt werden soll.
In deinem Fall muß die
Query-Komponente automatisch ein INSERT-Statement erzeugen,
und da kann man bestimmt über ein Connection-Event oder über eine Logging-Komponente sich mal ausgeben lassen wie dieses INSERT aussieht, welches bei dir ja scheinbar nicht ganz korrekt sein wird.
Delphi-Quellcode:
Query.SQLInsert.Text := '
INSERT Into Demo (demo.wert1) VALUES (12);';
Query.Insert;
Query.Post;
Falsch.
In das Statement kommen keine Values sondern Parameter dein, welche zwischen Insert und Post gefüllt werden,
ansonsten
Query.SQL.Text und
Query.Execute, anstatt soeiner Misshandlung dieser Funktion, um das INSERT-Statement "auszuführen".
Und das SQLInsert ist übrigens auch die Lösung, für denn Fall, dass das automatische Erstellen des INSERT-Statements nicht funktioniert.