[firebase-br] Ajuda

Gladiston Santana gladiston em vidy.com.br
Qua Jul 17 09:41:59 -03 2013


Vamos por parte, o default de um campo só é usado quando o campo é
esquecido num insert, então se voce mencionou o campo no seu insert então
não é o default do campo que está sendo usado, mas o valor que vem de sua
aplicação.
Pelo menos no delphi, valores nulos não são exibidos como nulos (a menos
que o componente tenha suporte para isso), mas com valores zeros, se for um
campo numerico o nulo será representado por zero, e no caso de data/hora
aquele ano de 1899. Então voce deve corrigir isso na sua aplicação e não no
firebird.
Não existe um tipo para armazenar apenas hora, o que deve fazer é desprezar
a data e usar sempre a hora no seu lado client. Por exemplo, eu escolheria
01.01.1970 hh:mm:ss, todas as datas seriam sempre 01.01.1970 só mudaria a
hora. Eu uso 1970 por uma certa paixao por unix, mas voce poderia tambem
deixar 1899, eu apenas não usaria porque sei que Excel tem formulas que
erram quando operam ano bisexto a partir essa data, mas voce pode desprezar
isso, talvez o bug já tenha sido corrigido.

No lado client, sempre formate a data/hora para mostrar somente a hora,
isso pode ser feito nos TGrids, TMaskEdit, TDataset, etc...
Se precisar que uma querie já venha formatada somente com a porção hora
basta usar algumas das funções internas do FB, ex :

select last_update, right(last_update,13) as somente_hora
from tabela


Isso, novamente nada tem a ver com o FB, seria igual em qualquer RDBMS.


Em 16 de julho de 2013 04:49, Pedro Fernandes <pedro13021977 em gmail.com>escreveu:

> Boas pessoal
>
> Mais uma vez tenho um problema com a minha passagem de uma base de dados do
> access para FB.
>
> o problema e o seguinte:
>
> tenho um campo em access que e hora abreviada que está com o valor
> predefinido  com a seguinte formula #00:00:00# quando tento passar ele para
> firebird o conversor assume DATE DEFAULT #12/30/1899# que e obviamente o
> que nao pretendo.
> se tentar passar assim como está da erro. e se mudar para time default
> '#00:00:#' ja passa mas nao guarda o valor pre definido 00:00 em todas as
> horas no FB como ta no access.
> E um pouco confuso a minha explicação mas tambem ja tentei aplicar dominio
> time com a data predefinida como '00:00'  no FB e update where is null e
> nao dá continua null.
>
> para qualquer esclarecimento tou aqui
>
> brigado
> ______________________________________________
> 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