Ich habe jetzt nach langem Ausprobieren die "Selbstbau-Insert-Variante" genutzt. Dabei habe ich wieder einen Fehler entdeckt, wobei ich nicht weis, ob das ein allgemeiner Fehler oder von meiner Komponente ist. Alle Memofelder lassen sich komischerweise nicht automatisch einfügen, sondern müssen nochmal "gequoted" werden. Siehe Beispiel:
Delphi-Quellcode:
DM1.PSQLdatenUpdate.InsertSQL.Clear;
DM1.PSQLdatenUpdate.InsertSQL.Add(
'INSERT INTO daten '+
' ("nummer", "name", "kat", '+
' "textde", '+
' "datechanged") '+
'VALUES '+
' (:"nummer", :"name", :"kat", '+
QuotedStr(DM1.PSQLdaten.FieldbyName('textde').AsString)+', '+
' :"datechanged") ');
Danach reicht ein einfaches
DM1.PSQLdaten.Post;
und die Daten werden eingepflegt. Würde man die QuotedStr wieder in eine
:"textde" umwandeln, meckert das Programm rum, das man keine Variable übergeben hat. Das tritt aber wie gesagt nur bei Memofeldern auf, bei den anderen nicht.