Fórum Condições para inserção #487724

02/08/2014

0

Olá pessoal eu de novo :)

Bom, Gostaria que alguém me desse alguma ideia, ou ate me mostrasse um exemplo de como eu posso salvar um novo agendamento.
A questão é, não inserir um novo agendamento, com o horário ja usado pelo próprio Dentista

Exemplo : Dentista Joao data da consulta 02/08 inicio 9:00 termino 10:00

fazer com que a aplicação não permita inserir novamente os mesmos dados.

porem, pode agendar a mesma data e horario pra outro Dentista.

Desde já, agradeço a atenção de todos (:

Observação : validação de ser no banco, ou na aplicação. " Mysql, Delphi"

já to fazendo o insert do agendamento, só que não tem nem uma condição, inserindo com uma Stored Procedure ZStoredProcedure - Zeos Acess
Weliton Gomes

Weliton Gomes

Responder

Posts

02/08/2014

Marisiana Battistella

Olá Weliton!
Você deve criar uma instrução SQL que verifique se já existe algum registro para aquele dentista, naquela hora e naquele horário.
Se o teu select não retornar nenhum registro, você permite a inserção, senão vc informa o usuário que aquele horário já está ocupado....
Responder

Gostei + 0

12/08/2014

Marisiana Battistella

Weliton, você conseguiu criar o SQL?
Responder

Gostei + 0

13/08/2014

Weliton Gomes

Weliton, você conseguiu criar o SQL?


Consegui sim linda, ^^

obrigado :)

como tava usando Stored procedure
fiz o seguinte :

banco
ds_HorarioInicial : DateTime; // 2014-08-13 08:00:00
ds_HorarioFinal : DateTime; // 2014-08-13 09:00:00

parâmetros de entrada : oHrInicial - horario inicial
oHrFinal - horario final
oIdColaborador - Id do Dentista




DECLARE Mensagem varchar(20);
    
   IF ((select count(*) from `tbagenda` 
	where `tbagenda`.`id_Colaborador`= oIdColaborador AND
          (`tbagenda`.`ds_HorarioInicial` BETWEEN oHrInicial and  oHrFinal OR
           `tbagenda`.`ds_HorarioFinal`   BETWEEN oHrInicial and  oHrFinal)) > 0)  THEN 
          SET Mensagem ='HORARIO INDISPONIVEL';


Até :)
Responder

Gostei + 0

15/08/2014

Marisiana Battistella

Muito bem!!
Obrigada pelo feedback!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar