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 |
|
|
|