![]() |
![]() |
| 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
|
||||
|
||||
|
verifica que el codigo que estas grabando no se esté repitiendo
__________________
Dulce Regalo que Satanas manda para mi..... |
|
#2
|
||||
|
||||
|
Sino puedes generar automáticamente el código con un generador, puedes lanzar un SQL que verifique si ese registro ya existe, todo esto antes de intentar grabarlo.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#3
|
|||
|
|||
|
Cita:
INSERT INTO TABLA (Campo1,ID) VALUES (@Valor,@ID) ELSE UPDATE TABLA SET Campo1 = @Valor WHERE ID = @ID HAY ESTA CAVAL MODIFICA ESTE QUERY PODRAS MODIFICAR EL CAMPO DUPLICADO |
|
#4
|
||||
|
||||
|
Bienvenido a clubdelphi, por favor, lee nuestra guía de estilo, gracias.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
Cita:
En firebird también exista una sentencia "update or insert", pero en este caso no valdría porque si el código es creado por otro usuario entonces estaríamos actualizando el mismo en lugar de crear uno nuevo nosotros. Del blog de jhonny: http://jhonny.clubdelphi.com/2010/08...-1-recuperado/
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
||||
|
||||
|
Yo en estos casos tengo una tabla que almacena un contador, primero lo incremento en 1 y luego ese número se lo doy al documento/factura.
Me gustaría ver que otras opciones utilizais, para generar una numeración consecutiva sin saltos. Me funciona pero quisiera ver otras opciones. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#7
|
||||
|
||||
|
Si quieres números consecuentivos entonces descartamos un generador.
No mantengo contadores porque me parecen innecesarios y una fuente potencial de problemas. Para esos casos yo compruebo el ultimo número dado de alta y le sumo uno. Si alguien ha dado de alta ese número mientras tanto, pues vuelvo a pedir de nuevo el último y le sumo 1, y así varias veces. Si transcurridos varios intentos están siempre ocupados los números que voy pidiendo es que algo anormal ha ocurrido y ya saco el mensaje de error. He modificado un trozo de código, simplificándolo, a ver si no me he equivocado, pero al menos sirve para que se entienda lo que hago. Uutiles.pas (datos de configuración del programa)
Cualquier otra Unit.pas -------------------------------------------------
__________________
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 |
| Error al crear Primary Key | Chogo | Firebird e Interbase | 18 | 07-07-2010 17:17:24 |
| Primary Key - SQL Server | Oxa78 | MS SQL Server | 3 | 09-01-2006 23:27:47 |
| Error Violation Primary Key | maui | Conexión con bases de datos | 16 | 11-05-2004 15:49:46 |
| primary key | AMO | SQL | 7 | 14-02-2004 20:50:05 |
| Primary key interbase 6 | rafadrover | Conexión con bases de datos | 2 | 07-08-2003 08:40:20 |
|