[firebase-br] SQL de Datas

Prisma - GMAIL prismars em gmail.com
Seg Jan 17 17:37:19 -03 2011


Acredito que não funcionara..

veja a seguinte situação:

Pedido de nova reserva = 10/01/2011 ate 20/01/2011

Reserva ja existente = 01/01/2010 ate 21/02/2011

Nesta caso não funciona o sql proposto..

Abraços,

Moacir


Em 17/01/2011 18:32, joao_jma escreveu:
> FOI O MODO QUE ACHEI POR HORA....
>
> O QUE ME DIZEM AE PESSOAL ???
>
>
> function TfLancReservas.ExisteReserva: Boolean;
> Var
>   wResultado: Boolean;
>   wDia: TDate;
> begin
>   wResultado := False;
>   wDia := qReservasDTINICIAL.Value;
>
>   While (wDia <= qReservasDTFINAL.Value) and (wResultado = False) Do
>   Begin
>      qTeste.Close;
>      qTeste.SQL.Clear;
>      qTeste.SQL.Add('Select * from RESERVAS');
>      qTeste.SQL.Add(' Where DTINICIAL <= ' + 
> QuotedStr(FormatDateTime('mm/dd/yyyy',wDia)));
>      qTeste.SQL.Add(' And   DTFINAL >= ' + 
> QuotedStr(FormatDateTime('mm/dd/yyyy',wDia)));
>      qTeste.SQL.Add(' Order By DTINICIAL');
>      qTeste.Open;
>
>      If qTeste.IsEmpty = False Then
>         wResultado := True;
>
>      wDia := wDia + 1;
>   End;
>
>   Result := wResultado;
>   qTeste.Close;
> end;
>
>
>
>
>
> ----- Original Message ----- From: "joao_jma" 
> <joao_jma em itelefonica.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, January 17, 2011 5:21 PM
> Subject: Re: [firebase-br] SQL de Datas
>
>
> acho q vou fazer uma rotina na unha...
>
> q pegue um a um todos os dias da datainicial até a datafinal e filtrar na
> tabela!
>
> unica solução encontrada por hora, rs!
>
>
>
>
> ----- Original Message ----- From: "joao_jma" 
> <joao_jma em itelefonica.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, January 17, 2011 5:09 PM
> Subject: Re: [firebase-br] SQL de Datas
>
>
> não magno, nao funciona
>
> Supondo q temos reserva lançada:
>
> Reserva   Quarto   DtIni                  DtFin
>   1                 1        01/01/2011      05/01/2011
>   2                 1        06/01/2011      10/01/2011
>
>
> Se colocar como parametro de sua consulta
>
> CHEGADA = 30/12/2009
>
> SAIDA = 15/01/2010
>
> O Retorno não satisfaz !!!
>
>
>
> ----- Original Message ----- From: "Magno System" 
> <magnosysteminformatica em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, January 17, 2011 3:56 PM
> Subject: Re: [firebase-br] SQL de Datas
>
>
> Fiz aqui e funfou.
>
> Minha estrura
>
> TABELA QUARTOS
> Campo
> QUARTO    INTEGER
>
> Tabela RESERVAS
> Campo
> QUARTO     INTEGER
> DATAINI     DATE
> DATAFIN    DATE
>
> SQL:
> SELECT QUARTO FROM QUARTOS Q WHERE NOT EXISTS(SELECT R.QUARTO FROM 
> RESERVAS
> R WHERE ((:CHEGADA BETWEEN R.DATAINI AND R.DATAFIN) OR (:SAIDA BETWEEN
> R.DATAINI AND R.DATAFIN)) AND R.QUARTO = Q.QUARTO)
>
> Espero ter ajudado.
>
>
>
> ----- Original Message ----- From: "joao_jma" 
> <joao_jma em itelefonica.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, January 17, 2011 4:57 PM
> Subject: Re: [firebase-br] SQL de Datas
>
>
> NÃO AMIGOS... vc's não entenderam... vou explicar melhor
>
>
> Imaginem a tabela contendo as seguintes reservas:
>
>
> Reserva   Quarto   DtIni                  DtFin
>   1                 1        01/01/2011      05/01/2011
>   2                 1        06/01/2011      10/01/2011
>
>
> Duas reservas lançadas para o Quarto 1
>
> Se o cliente precisar de uma reserva apenas para o dia 04/01/2011 a 
> consulta
> que vocês me indicaram vai falhar, pois não vai retornar nenhum 
> registro....
>
> não posso fazer o filtro por um campo chamado "DataReserva" como 
> indicaram
> pq ele não existe, na verdade são 2 campos q determinam data de entrada e
> data de saída. Entenderam?
>
> [ ]'s
>
>
>
>
>
> ----- Original Message ----- From: "Levy Moreira" 
> <levymoreira.ce em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, January 17, 2011 2:47 PM
> Subject: Re: [firebase-br] SQL de Datas
>
>
> Pronto agora fechou depois dessas duas dicas ficou moleza. o Sr. Nunes 
> deu o
> código a você de presente.
>
> Em 17 de janeiro de 2011 14:45, Reijanio Nunes Ribeiro
> <rnribeiro em gmail.com>escreveu:
>
>> se estiver usando o delphi faça com paramentros
>> consulta.close;
>> consulta.commandtext :=''select * from reservas where dataReserva 
>> between
>> :dtini and
>> :dtfim'
>> consulta.params.parambyname('dtini').asdate := aqui o componente pode 
>> ser
>> edit/DateTimePicker
>> consulta.params.parambyname('dtfim').asdate := aqui o componente pode 
>> ser
>> edit/DateTimePicker
>> consulta.open;
>>
>> e por ai vai
>>
>>
>> Em 17 de janeiro de 2011 14:34, Levy Moreira <levymoreira.ce em gmail.com
>> >escreveu:
>>
>> > Faz assim:
>> > 1-Faz um select:
>> >  'select * from reservas where dataReserva between '01.02.2011' and
>> > '15.02.2011''
>> >
>> > 2-Se o retorno (numero de registros retornados 
>> (query.recordcount;)) for
>> >
>> > 1
>> > então há
>> > reserva naquele periodo.
>> >
>> >
>> > Em 17 de janeiro de 2011 15:27, joao_jma <joao_jma em itelefonica.com.br
>> > >escreveu:
>> >
>> > > Estou fazendo um modulo de reserva de quartos num sistema de um 
>> hotel.
>> > >
>> > > O cliente informa a data que chega (DTINI) e a data que vai embora
>> > (DTFIN).
>> > >
>> > > Como faço um SQL para verificar se já existem reservas 
>> armazenadas no
>> > > período desejado pelo cliente ?
>> > >
>> > > Obrigado!
>> > >
>> > > João Amorim
>> > >
>> > >
>> > > ______________________________________________
>> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > > http://www.firebase.com.br/fb/artigo.php?id=1107
>> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>> > >
>> >
>> >
>> >
>> > --
>> > Levy Moreira - Programador
>> > Sistech Informática - Juazeiro do Norte - CE
>> >
>> >
>> ........................................................................... 
>>
>> > "Aviso de confidencialidade profissional" - Esta mensagem eletrônica e
>> > seus anexos são destinados exclusivamente ao(s) destinatário(s) 
>> acima e
>> > podem conter informações confidenciais sujeitas a restrição legal de
>> > comunicação entre as partes. Caso tenha recebido esta mensagem por
>> engano,
>> > fica V.S.ª ciente de que a distribuição, divulgação ou disseminação 
>> das
>> > informações aqui contidas ou anexadas é terminantemente proibida,
>> > sujeitando
>> > o responsável às penalidades aplicáveis. Assim, solicitamos a 
>> gentileza
>> > de retorná-la de imediato ao remetente, eliminando-a 
>> definitivamente de
>> > seu sistema. Em caso de dúvida, queira por favor entrar em contato."
>> >
>> > "Confidentiality notice" - This message and its attachments are
>> > addressed solely to the persons above and may contain privileged and
>> > confidential
>> > communication. If you have received the message in error, the
>> > distribution or dissemination of the content hereof is prohibited. 
>> > Please
>> > return it
>> > immediately to the sender and please delete the message from your 
>> system
>> > on a permanent basis. Should you have any questions, please contact."
>> >
>> >
>> ........................................................................... 
>>
>> > ______________________________________________
>> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > http://www.firebase.com.br/fb/artigo.php?id=1107
>> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>> >
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>
>




Mais detalhes sobre a lista de discussão lista