![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Este es el procedimiento
El problema es que en el bucle, no se incrementa el 'FDM.CodigosFAMILIA.AsInteger' y me sale violación clave primaria al insertar el siguiente registro. 'FDM.CodigosFAMILIA.AsInteger' se refresca después del commit. Gracias. |
|
#2
|
||||
|
||||
|
Hola.
En mi opinion deberias llevar el incremento del Codfamilia fuera del procedimiento.Me refiero a que lo Incrementes tu por codigo Saludos |
|
#3
|
||||
|
||||
|
resp
Usa un generador.
Si el generador se llama gen_Id_familia Haces Un select El primero te saca el valor actual y el otro incrmente en uno. y el error te ocurre ya que el valor se esta incrementando dentro del procedimiento y no fuera como te didjeron anteriormente.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
#4
|
|||
|
|||
|
Muchas gracias por las respuestas.
Me inclinaré por uno de los métodos indicados. Saludos. |
|
#5
|
||||
|
||||
|
Recomiendo
Te Recomiendo usar la propiedad CachedUpdates en los IBDataSet sobre la realción maestro detalle que comentas, cuando guardes en vez de usar el POST lo cambias por CachedUpdates, y cuando vayas a aceptar la transacción primero Grabas el Detalle y posteriormente el Maestro, si me preguntas porque, te respondo asi me funcionó, que debería de ser primero el Maestro y después el Detalle y por último Aceptas la transacción....
Saludos.... |
|
#6
|
|||
|
|||
|
¡ ya lo conseguí !. No se si es muy ortodoxo pero...
Gracias por todo. |
|
#7
|
||||
|
||||
|
Resp
Recuerda que en un entorno mmulti usuraio si no usas generadores para el id primario te puede dar bloques muertos. o Conflitos de claves devido al control transacional.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|