Intentare describir el problema lo mas detalladamente posible:
Tengo un programa hecho en Delphi 2005 con arquitectura Win32 que ataca una BD Oracle Xpress 10g medianto los ADO.
Para ello tengo un componente DataSource conectando a un ADOdataset ( con la SQL: 'select * from cliente where k_cliente= :codcli and k_tipocli= :codtipo' ), que a su vez esta conectado a un ADOconection.
El tema es que cuando hago un append al dataset, introduzco datos y despues le hago un post el programa peta con el siguiente mensaje de error: ''error ORA-01400 no se puede insertar un valor NULL en el campo XXXX' ( XXXX=un campo clave )'. El tema es que al campo clave le introduzco el valor con 'ADOdataset.fieldbyname('campo').value' antes de hacer el post y el commit...
-1ª pregunta: ¿Es correcta esta arquitectura? (datasource+ADOdataset+ADOconection)
-2ª pregunta

odria deberse el problema a alguna configuracion del dataset?
-3º pregunta:es correcto el uso de post? hay alguna otra funcion?
De antemano muchas gracias por toda la ayuda que me podais suministrar. ^^