Thanks! It was the missing piece of information. Normally I use somthing like this
OracleDataset1.close();
OracleDataset1.sql.clear();
Oracledataset1.sql.text := 'insert into test (keyfield) values (1)';
Oracledataset1.execSQL();
Oracledataset.session.commit;
that is a post operation in my world ;-). But this works fine:
OracleDataset1.edit();
OracleDataset1.appendrecord([1]);
OracleDataset1.Post();
hmm, but with 200 attributtes and only some of them shall be updated....