Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   nuevo registro en tabla de sqlserver (https://www.clubdelphi.com/foros/showthread.php?t=14545)

davidgaldo 23-09-2004 16:55:12

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

Investment 23-09-2004 17:09:08

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

__hector 23-09-2004 21:30:22

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

davidgaldo 24-09-2004 08:27:45

me puedes explicar eso con un poco más de detalle, gracias.

__hector 24-09-2004 14:37:38

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;

Puedes ver en la ayuda de delphi si necesitas mas info.


La franja horaria es GMT +2. Ahora son las 22:11:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi