![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
nuevo registro en tabla de sqlserver
Al insertar un nuevo registro en una tabla como puedo controlar antes de insertarlo de que no existe ya uno igual para no duplicarlo??
|
|
#2
|
||||
|
||||
|
Pues haciendo una select por los campos clave de la tabla con los valores que vas a insertar.
O controlando el error en un try/except/end
__________________
Saludos, Peter Investment |
|
#3
|
||||
|
||||
|
... o creando un indice (o constraint) de no duplicidad en la base de datos (UNIQUE, por combinacion de campos si es necesario), intentar insertarlo, y meter el codigo en un bloque try/except.
Si no logra hacer la operacion, verificas que el error se deriva del intento de insertar un duplicado, y le avisas (si quieres) al usuario. Te evitas asi el select ![]() EDITADO No vi en el post anterior la parte del "o try/except", asi que creo que mi sugerencia puede ser solo una confirmacion de la anterior
__________________
Héctor Geraldino Software Engineer |
|
#4
|
|||
|
|||
|
me puedes explicar eso con un poco más de detalle, gracias.
|
|
#5
|
||||
|
||||
|
Explicar que? Crear el indice? Desde el Enterprise manager, clic derecho sobre la tabla, design table, Table properties, indexes/keys, creas un nuevo indice, seleccionas los campos que no pueden duplicarse, y guardas.
La parte de delphi: Código:
try ... codigo para insertar el registro except ... mostrar la excepcion... no se de que clase es la excepcion que se generara, asi que tendras que probar end;
__________________
Héctor Geraldino Software Engineer |
![]() |
|
|
|