FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Gracias por contestar .
Si, al pedir el ultimo id si lo saca correctamente, de momento no he tenido problemas con eso. El problema lo tengo cuando quiero sacar el id directamente de la tabla productos de ese registro. Algo me debe de faltar en la transaccion, la tabla, la base de datos o no se, para que actualice id_producto. O no se como debiera de hacerse. |
#2
|
||||
|
||||
Hola.
De tu código me surge una duda: ¿ No le asignas un valor a la columna ID_PRODUCTOS de la tabla productos antes de guardar ? Cita:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
||||
|
||||
Gracias por las respuestas,
Uso un generador asi que no asigno ningun id_producto a "mano". Respecto a si posiciono bien, ya lo he resuelto, tuve que usar un locate para posicionarme. Y, sobre sacar el id_producto despues de hacer post y commitretaining, no tengo más remedio que cerrar la tabla y volverla a abrir. Esto es normal?. Cada vez, cerrar y abrir tablas? |
#4
|
||||
|
||||
Yo utilizo la clausula RETURNING del INSERT INTO para que me devuelva el valor de Id que el generador le dio al registro que estoy insertado. De esta manera evitas problemas de concurrencia y hasta es mas eficiente, puesto que en una sola operacion insertas y obtenes el id que necesitas
|
#5
|
||||
|
||||
Cita:
|
#6
|
||||
|
||||
Hola.
Entonces, para obtener el ID recién generado, sin alterar su valor: Y para obtener el próximo ID ( incrementando su valor ):
Cita:
Y claro que también como te indica Agustín, al momento de realizar la inserción. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
||||
|
||||
Gracias.
Pues si, son opciones a tener en cuenta y las voy a probar . De todas formas, el problema que tengo es que, despues de insertar un nuevo registro, si pido ese registro el, id_producto por ejemplo, me devuelve 0 y en el dbgrid me sale en blanco. Lo soluciono cerrando la tabla y abriendola de nuevo. Ya probe con refresh y tampoco me lo resuelve. |
#8
|
||||
|
||||
Hola.
Cita:
Una cosa que podes hacer es usar la propiedad GeneratorFielddel TIBDataSet, ejemplo: (Configuré la propiedad en tiempo de ejecución para clarificar, pero podes hacerlo en tiempo de diseño desde el Inspector Object) Hay dos cosas que olvidé mencionarte, la primera es que los componentes IBX para Delphi hasta la versión 7.8 inclusive, no soportan la cláusula RETURNING (no sé si es así en versiónes posteriores de IBX). La segunda y mas importante, es que no uses el modo del mensaje #7 para obtener el último identificador en un entorno multiusuario, por que fácilmente se podría generar incongruencia en los datos. Lo conveniente es solicitar la generación de un ID , almacenarlo y luego utilizarlo (Commit) o bién descartar ese valor (Rollback). Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
||||
|
||||
Muchas gracias eficsa,
Lo voy a checar, aunque ya me has aclarado bastante, sobretodo con la duda que llevo mucho tiempo sin resolver, que el dataset no se entera del id generado hasta que no cierre y vuelva a abrir. Y, respecto al generador, usare tu solución , es entendible y ademas, llevo con esto mucho tiempo pero sigo siendo novato, incluso no creo que llegue a esa categoria por el tiempo . |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
forma de programar no se si es la correcta ? | gulder | MySQL | 4 | 05-04-2016 17:49:51 |
Liberar Tlist de forma correcta | BDWONG | Varios | 3 | 01-11-2014 17:28:46 |
Forma correcta de conectar a la base.. | linuxtin | Conexión con bases de datos | 4 | 19-07-2012 20:30:20 |
validar usuarios de forma correcta | hibero | PHP | 3 | 04-01-2010 15:47:04 |
Cual es la Forma Correcta de Guardar Texto en un IbDataset con TcpServer???? | AGAG4 | Varios | 0 | 10-12-2004 22:14:41 |
|