![]() |
Problema ADO + Oracle...
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:podria 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. ^^ |
-1ª pregunta: ¿Es correcta esta arquitectura? (datasource+ADOdataset+ADOconection)
-R En lo personal, considero que es mejor hacer uso de Stored Procedures. -2ª pregunta:podria deberse el problema a alguna configuracion del dataset? -R El programa es que efectivamente estás pasando un null, en el evento BeforePost verificalo con la propiedad isnull del Field. -3º pregunta:es correcto el uso de post? hay alguna otra funcion? -R Ya que estas editando los datos en controles Db, es correcto, Si usaras querys, el comando correcto sería Exec. |
| La franja horaria es GMT +2. Ahora son las 13:44:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi