Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Aviso de registro existente en BD (https://www.clubdelphi.com/foros/showthread.php?t=64829)

radenf 22-04-2009 02:01:46

Aviso de registro existente en BD
 
Hola amigos:

Una vez más recurro a su excelente disposición a compartir y sabiduría.
Tengo una aplicación desarrollada en D7 y ADO y quisiera poder desencadenar un mensaje de aviso cuando el usuario ingrese un registro que ya se encuentre en la BD. No puedo utilizar índice único puesto que los datos pueden repetirse, pero sólo en días distintos.
Básicamente son horas de citación para un consultorio.
Agradezco su desinteresada ayuda.

Saludos

roman 22-04-2009 02:23:18

Y, ¿por qué no formas un índice único sobre ambos campos, usuario y día?

// Saludos

radenf 22-04-2009 13:07:51

Estimado Roman:
Los campos que tú señalas son índices primarios en la tabla. El programa arroja un error de absolute engine error y otras cosas más al introducir una hora repetida, es decir el índice funciona bien.
Lo que yo pretendo es poder capturar dicho evento para evitar la excepción, con un mensaje personalizado de aviso al usuario.
Gracias por tu respuesta.

Saludos

lgarcia 22-04-2009 15:17:30

Aviso de registro existente
 
Hola:

A mi se me ocurre que crees un SP para validar que con los parametros del nombre del cliente y la fecha, que te devuelva por ejemplo el id, con eso ya en Delphi puedes a la hora de guardar el registro ejecutar el SP y si el id te da cero no hay problemas pero si es distinto de cero enviarle un mensaje con ShowMessage con la informacion.

Saludos
Luis Garcia

roman 22-04-2009 17:51:57

Cita:

Empezado por radenf (Mensaje 345774)
Los campos que tú señalas son índices primarios en la tabla.

Entonces son un índice único ¿no? La unicidad es requsito de todo índice primario.

Si el problema es poner un mensaje personalizado, en teoría debe bastar que uses el evento OnPostError poniendo tu mensaje y asignando daAbort al parámetro Action.

// Saludos

radenf 22-04-2009 18:48:07

Muchas gracias por sus aportes.
Los pruebo y les comento.
Saludos

radenf 23-04-2009 03:00:10

Estimado Roman:

Gracias por tu aporte. Funcionó perfecto.
Ahora bien en el programa se selecciona la hora con un dbcombobox que posee un string con todas las horas posibles de asignar.
¿ Cómo puedo hacer para que si se selecciona una hora ya asignada y salga el mensaje en cuestión el dbcombobox me muestre una hora vacía ?

Saludos y muchas gracias por tu ayuda.

PD: Tus indicaciones Luis no las probé porque no las entendí. No sé qué es un SP. Perdona mi ignorancia.


La franja horaria es GMT +2. Ahora son las 18:45:32.

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