[firebase-br] Validação de datas

Robson Catunda robson.catunda em gmail.com
Sáb Jul 30 01:33:45 -03 2011


Ok, Eder,

Esse procedimento de verificar se a data é válida na aplicação é o que
normalmente faço.
Mas no caso, preciso montar valores do tipo date que dependem de campos dos
tipos date, integer, char e varchar já existentes no banco.
Todo esse processo tem de ocorrer dentro de uma storedprocedure.
O resultado não será gravado, apenas mostrado, mas tem de ser uma data
válida.
Posso até fazer isso no braço mesmo, comparando o dia com o ultimo dia do
mês, o ano bisexto, etc...  mas gostaria de saber se o proprio firebird já
não tem isso pronto.
Na aplicação eu fazia esse método braçal até descobrir que existia a função
IsValidDate(y,m,d).

Em 29 de julho de 2011 19:23, Eder Laudelino Polizel <eder.polizel em gmail.com
> escreveu:

> Robson,
>
> Se voce quer testar uma data antes de inserir ou atualizar um registro no
> banco de dados:
>
> Entao a melhor forma é voce verificar a data na aplicacao, antes de
> passa-la
> como parametro para a sua stored procedure.
>
> Caso contrário,
>
> Se voce vai fazer calculos com as datas que ja estao armazenadas no banco
> de
> dados, os campos tipo date ou datetime do banco só contem, pois só aceitam,
> datas validas. Entao não havera problemas pois os cálculos serao feitos com
> datas válidas e tambem retornarao datas válidas, mesmo que voce adicione ou
> subtraia horas, dias, meses ou anos delas.
>
> Isso supondo que voce esta usando no banco de dados um campo tipo DATE ou
> DATETIME e não um campo CHAR ou VARCHAR.
>
> Abraco!
>
>
> Em 29 de julho de 2011 18:22, Robson Catunda <robson.catunda em gmail.com
> >escreveu:
>
> > Preciso fazer isso com código sql dentro de uma storedprocedure no
> firebird
> > 2.0
> >
> > Em 29 de julho de 2011 17:33, Leonardo Terrão
> > <leonardoterrao em gmail.com>escreveu:
> >
> > > para verificar se a data e valida ou nao eu utilizo esta funcao:
> > >
> > > function DataValida(s: String): boolean;
> > > begin
> > >   Result := True;
> > >   try
> > >      StrToDate(s);
> > >   except
> > >      Result := False;
> > >   end;
> > > end;
> > >
> > > Em 29 de julho de 2011 17:08, Robson Catunda <robson.catunda em gmail.com
> > > >escreveu:
> > >
> > > > Tem alguma forma de verificar se uma valor do tipo date é válido ou
> > não?
> > > > Algo semelhante ao ISVALIDDATE(ano,mes,dia) do delphi.
> > > > ______________________________________________
> > > > 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
> > >
> > ______________________________________________
> > 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