![]() |
![]() |
| 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
|
|||
|
|||
|
bueno después de investigar y leer en varios artículos, lo he resuelto de la siguiente manera:
1. en lugar de dejar el campo Id (AutoIncr) sin valor, he dispuesto ponerle un valor único a cada registro usando para ello un número entero negativo garantizando que no se me confunda con algún otro número por ahí
2. el evento BeforeUpdateRecord del TDataSetProvider se ejecuta con la instrucción ApplyUpdates antes de hacer la actualización física en el servidor, allí se implementa un mecanismo para conocer cuál sería el próximo número del Id y se actualiza usando la propiedad NewValue, para que llegue al servidor con el número que corresponde
|
|
#2
|
||||
|
||||
|
Si te funciona, me parece perfecta la solución
Sí, creo que está bien. En vez de usar un Trigger usas un StoreProcedure. Además colocas un nº negativo provisional. Me parece un poco floreado, pero si te va bien, adelante. Tu solución abre nuevos horizontes y es original (dentro de mis conocimientos). Enhorabuena!!
|
|
#3
|
||||
|
||||
|
En MySQL para obtener el último número asignado se debe usar LAST_INSERT_ID() el cual te garantiza devolverte el último número que se haya asignado a tu campo sin importar que haya pasado después. Si haces lo haces con el método de usar MAX corres el riesgo de que en el transcurso otro usuario haya insertado registros por lo que ya no será correcto el dato que obtengas.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| AutoIncrement Firebird | Ubed | Conexión con bases de datos | 7 | 21-05-2014 17:21:41 |
| Conversion de Autoincrement | trex2000 | Tablas planas | 0 | 07-01-2008 22:16:49 |
| AutoIncrement de Firebird | alucardo | Firebird e Interbase | 2 | 15-06-2006 19:03:20 |
| excepción autoincrement | jonmendi | Conexión con bases de datos | 0 | 25-04-2006 17:33:55 |
| sobre campos autoincrement | ghost | MS SQL Server | 1 | 19-10-2004 10:54:59 |
|