[firebase-br] Campo com default source grava valor null

Thiago zan_ti em farmaponte.com.br
Seg Set 6 08:11:14 -03 2010


Eduardo, bom dia.

Muito obrigado pela explicação, eu realmente não que o default source 
era acionado apenas se não passasse valor.

Pelas suas opções acho que vou acabar passando pelo dataset mesmo pois 
fica mais claro.

Obrigado.

Em 03/09/2010 19:30, Eduardo Bahiense escreveu:
> Oi Thiago
>
> O problema é que o campo está declarado no dataset, e quando você não
> passa valor, o dataset está mandando como NULL. O defaultsource só é
> acionado quando vc não passa o campo no INSERT, se você o passa no
> insert expicitamente como NULL, o BD acata. Por exemplo:
> INSERT INTO TABELA (A,B,C) VALUES(1,2,NULL)
> INSERT INTO TABELA (A,B) VALUES (1,2) -> C usuará defaultsource
>
> Para resover essa questão vc tem 3 opções (em ordem de preferência)
>
> 1. Retire o campo do dataset ou veja se há uma maneira de configurá-lo
> como não ativo para inserts e updates
> 2. Coloque uma trigger na tabela com algo como:
> "new.dth_insert=coalesce(new.dth_insert, current_timestamp)"
> 3. Passe "now" no valor do campo pelo dataset
>
> Eduardo
>
>
> Em 03/09/2010 13:29, Thiago escreveu:
>> Galera, bom dia.
>>
>> Seguinte, tenho uma tabela no firebird onde tenho um campo chamado
>> dth_insert com o default source como current_timestamp.
>>
>> Quando insiro um registro através de insert into via comando SQL o
>> registro depois de gravado fica com a data e hora gravada no campo
>> corretamente mas quando eu faço isso utilizando append e post no dataset
>> no delphi esse campo fica gravado null na tabela.
>>
>> Eu nunca trabalhei utilizando gravação de dados diretamente pelo
>> dataset, sempre fiz isso utilizando comandos SQL mesmo, por isso não sei
>> o que devo configurar para que isso aconteça.
>>
>> E outra coisa, esse é um campo not null, mas como ele tem valor default
>> eu não preciso passar nada de valor porque o banco vai fazer o
>> preenchimento sozinho mas como pelo delphi está gravando null está dando
>> exceção.
>>
>> Alguém poderia me ajudar?
>>
>> Obrigado.
>>
>>
>> ______________________________________________
>> 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