Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   ADOdataset... (https://www.clubdelphi.com/foros/showthread.php?t=47020)

The_Avatar 16-08-2007 13:08:20

ADOdataset...
 
Estoy usando los componentes ADO para acceder a una base de datos Oracle. Me he conectado y he trabajado con ellos sin problemas hasta el momento en que he hecho un 'append' en el ADOdataset.
En ese instante me genera un error por estar la clave primaria vacia, cosa a la que no veo mucha logica ya que aun no he hecho post...:eek:
Alguien me podria explicar el motivo por el que hace esto??
En principio y por requerimientos del programa no puedo usar triggers en la BD para generar la clave primaria ni nada por el estilo.
De antemano gracias ^^

oscorm 16-08-2007 13:23:25

ese comportamiento no es normal en ADO, de hecho, para poder seguirlo y ayudarte un poco más sería bueno expusieses la SQL del TCustomADODataSet para poder evauar con algo de garantía,
un saludo

The_Avatar 16-08-2007 13:29:42

Sql...
 
La SQL en concreto es:

select * from clientes where k_cliente= :codcli
and k_tipocli= :tipocli

BlueSteel 16-08-2007 15:45:24

pero donde esta el Append ??


puede que tu problema este en el codcli y en tipocli, ya que son variables que no estan bien definidas.. de donde las sacas ????

si son parametros las tienes definidas ???

The_Avatar 16-08-2007 16:00:26

...
 
Veamos... Si no me equivoco la SQL es correcta y los parametros estan bien definidos ya que funciona perfectamente en todos los casos menos en este.
El error que me da es 'error ORA-01400 no se puede insertar un valor NULL en el campo XXXX' ( XXXX=un campo clave )
Intuyo que quizas haya alguna opcion en el ADOdataset que haga que se apliquen los cambios directamente a las tablas de la BD y por ello, al insertar un registro totalmente NULL con append la propia BD peta con este error.
¿Alguien sabria orientarme para que el registro nulo insertado por el append se inserte EN MEMORIA?
Gracias ^^


La franja horaria es GMT +2. Ahora son las 12:36:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi