FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
No muestra campo autoincrementado en pantalla
La situación es así: tengo una tabla que utiliza un campo autoincrementado, creado a partir de un trigger que actualiza un generador. El método clásico...obtengo valores consecutivos sin problemas al agregar registros a la tabla. La típica columna "primary key" de toda la vida.
El problema es que en una situación necesito mostrar el valor al usuario cuando agrega un registro (append) y luego lo graba (post). El valor autoincrementado se genera sin problemas, se guarda en la tabla....pero no se muestra en pantalla. Para que se muestre tengo que hacer un REFRESH del dataset luego del POST...que además de desplazar el puntero a otro registro....es una chapuza. Estoy usando Lazarus con los componentes nativos TZSQLquery, nada fuera de lo común, la base de datos es Firebird 2.1. Es una simple ventana que carga registros desde un formulario y luego se pueden consultar....muy simple. ¿ Alguien más tuvo este problema ?. Saludos !
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. |
#2
|
||||
|
||||
Hola
Aunque no uso lazarus (aunque quisiera. Ojala algún día pierda el temor a lo nuevo) lo que podrías hacer seria obtener el valor del generador al agregar el nuevo registro en local. Es decir no obtenerlo en el trigger. Saludos |
#3
|
||||
|
||||
La mejor forma de perderle el miedo a Lazarus es....usándolo. Familiarizarse haciendo pequeñas aplicaciones, conocer todas las opciones de configuración (que son muchísimas), conocer sus componentes...y luego sí hacer algo concreto. Creeme que mejoró mucho, ya no es más aquel IDE de hace varios años atrás que se cerraba a veces hasta colocando un componente en un formulario. Hoy se puede usar en producción perfectamente...realmente FUNCIONA. Viniendo desde Delphi la "adaptación" es bastante rápida y comienzas a ser productivo en muy poco tiempo.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. Última edición por rretamar fecha: 05-11-2014 a las 04:38:57. |
#4
|
||||
|
||||
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. |
#5
|
||||
|
||||
Puedes retornar el valor insertado, mira aquí:
http://www.firebirdfaq.org/faq29/ |
#6
|
||||
|
||||
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. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ClientDataSet no muestra AggregateField (Campo agregado)) | Jere_84 | Conexión con bases de datos | 3 | 30-03-2012 23:36:59 |
No muestra Campo Blob en mi DBGrid | ingabraham | Varios | 2 | 23-03-2010 13:50:16 |
Busqueda en un campo autoincrementado | Alexandro | Tablas planas | 0 | 20-10-2008 16:52:15 |
Firebird Suma 2 valores en un campo autoincrementado en insercion de registro | Adrian Murua | Firebird e Interbase | 5 | 03-05-2007 12:16:19 |
no me muestra un campo actualizado con triggers | pmfras | Firebird e Interbase | 0 | 05-03-2005 17:41:07 |
|