![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Que yo sepa no hay otra forma.
Puedes hacer un SP que haga la inserción y te retorne el valor generado (por el generador), de esta forma desde el "cliente" se hace en un sólo paso, auunque el trabajo de desarrollo es mayor. No se si vale la pena...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#2
|
||||
|
||||
|
Puedes retornar el valor insertado, mira aquí:
http://www.firebirdfaq.org/faq29/
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
Gracias por las respuestas. Normalmente el valor de una clave primaria no debería interesarle al usuario final, no son para mirar. Pero en este caso es la excepción, sí necesito mostrar el valor cada vez que se guarda un nuevo registro.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. |
|
#4
|
||||
|
||||
|
Me respondo a mí mismo.
![]() Al final lo que hice fue una chapuza (que funciona ): Luego del POST, guardo la posición del registro actual en un marcador (TBookmark), hago un REFRESH del dataset y luego recupero la posición del registro usando el marcador. Utilizo disablecontrols y enablecontrols en Lazarus para que el usuario no note nada. Todo eso se hace en una fracción de segundo...y así el usuario puede ver el valor que toma el campo autoincrementado para el registro que acaba de guardar.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. |
|
#5
|
||||
|
||||
|
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
||||
|
||||
|
Gracias Casimiro por la respuesta.
![]() Al final modifiqué el código y al guardar el registro ejecuto esto en AfterPost: Es otra "chapuza", pero funciona. Utilizo una variable temporal llamada ID para guardar la posición, luego uso locate con esa variable como parámetro de búsqueda. ID es la primary key de la tabla, y teniendo en cuenta que existe un índice para esa columna, el posicionamiento usando LOCATE es prácticamente instantáneo a la vista del usuario final. ![]()
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. Última edición por nlsgarcia fecha: 04-12-2014 a las 04:33:23. Razón: Resaltar sintaxis Delphi |
|
#7
|
||||
|
||||
|
Tirón de orejas por no poner las etiquetas al código
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ClientDataSet no muestra AggregateField (Campo agregado)) | Jere_84 | Conexión con bases de datos | 3 | 31-03-2012 00:36:59 |
| No muestra Campo Blob en mi DBGrid | ingabraham | Varios | 2 | 23-03-2010 14:50:16 |
| Busqueda en un campo autoincrementado | Alexandro | Tablas planas | 0 | 20-10-2008 17:52:15 |
| Firebird Suma 2 valores en un campo autoincrementado en insercion de registro | Adrian Murua | Firebird e Interbase | 5 | 03-05-2007 13:16:19 |
| no me muestra un campo actualizado con triggers | pmfras | Firebird e Interbase | 0 | 05-03-2005 18:41:07 |
|