Condições para inserção

Delphi

02/08/2014

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

Curtidas 0

Respostas

Marisiana Battistella

Marisiana Battistella

02/08/2014

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....
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

02/08/2014

Weliton, você conseguiu criar o SQL?
GOSTEI 0
Weliton Gomes

Weliton Gomes

02/08/2014

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é :)
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

02/08/2014

Muito bem!!
Obrigada pelo feedback!
GOSTEI 0
POSTAR