![]() |
![]() |
| 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
|
||||
|
||||
|
Das la información con cuentagotas
![]() Desde delphi, sí, vale, pero ?cómo?. El método propuesto por el compañero guillotmarc te devuelve, evidentemente, el último valor generado, pero si estás en un entorno multiusuario entonces puede no valerte si otro usuario ha pedido un nuevo número.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
||||
|
||||
|
Si trabajas con Firebird 2.1 o posterior puedes utlizar la clausula RETURNING.
No es recomendable que tú asignes el valor del campo ID, o de cualquier otro campo que obtiene su valor del próximo estado del generador. Para asignar los valores en este tipo de campos, es mejor dejar el código de asignación en un stored procedure -ejecutado en un AFTER INSERT-. A cómo tú lo has dicho, nunca sabes si un usuario va a ingresar un registro al mismo tiempo que lo haga otro usuario. Saludos, Chris Última edición por Chris fecha: 09-01-2011 a las 23:16:28. |
|
#3
|
||||
|
||||
|
Cita:
Saludos, |
|
#4
|
||||
|
||||
|
No estoy muy seguro, pero creo que con los componentes que soporten Firebird 2.1 llamas al procedimiento Open, en lugar de llamar al ExecSQL como lo harías normalmente. Desconozco si esta funcionalidad es soportada por los componentes que no han sido desarrollados teniendo en cuanta las mejoras en la versión 2.1 de firebird.
|
|
#5
|
||||
|
||||
|
Así parece ser Cris. Debería emplearse componentes o drivers que trabajen con las nuevas características de Firebird... Yo uso D6 y FB 1.5 por lo que no se mucho, pero otras personas que trabajan con Firebird 2.0 y 2.1 y cuentan con versiones modernas de Delphi no pueden leer el RETURNING con los componentes estándares.
Desconozco si Zeos ya soporta esto, creo yo que ni siquiera el nuevo Driver para DBX disponible en Delphi 2010 y XE Enterprise tiene soporte para esto. Saludos, |
|
#6
|
||||
|
||||
|
Pues con el dineral que cuesta, ya podían haberlo puesto.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
||||
|
||||
|
Sí, es una vergüenza que este driver solo esté en la versión Enterprise, debería estar a partir de la versión Professional.
NOTA: No sé si permite recuperar el valor returning de un insert, puesto que como no he podido pagar la burrada que cuesta un Enterprise, no tengo este driver.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| validar tedit, que no ingrese '.' | gonza_619 | Varios | 2 | 12-11-2010 00:38:27 |
| ABM,como validar que no se ingrese un codigo existente a mi BD | juliana_r | Conexión con bases de datos | 10 | 10-06-2010 17:09:24 |
| generador | novaten | Conexión con bases de datos | 1 | 09-04-2005 21:29:44 |
| enmascarar un tedit cuando se ingrese La clave de acceso | andresenlared | Varios | 4 | 08-01-2004 17:45:27 |
| Ver un generador | Rabata | Conexión con bases de datos | 4 | 17-09-2003 15:31:01 |
|