![]() |
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??
|
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 |
... 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 |
me puedes explicar eso con un poco más de detalle, gracias.
|
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 |
La franja horaria es GMT +2. Ahora son las 04:39:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi