[firebase-br] TClientDataSet+Campos Not Null

Forrest® fernando.bg em gmail.com
Qua Out 29 09:49:38 -03 2008


Fabrício Fadel Kammer wrote:

> Bom dia à todos,
> 
> Olha eu novamente com mais uma dúvida com TClientDataSet com Firebird.
> 
> Tenho muitas tabelas onde o campo chave primária é alimentado através
> de uma trigger que atualiza o campo com um generator, isto funciona 
> perfeitamente bem.
> 
> Porém agora que estou utilizando componentes TClientDataSet percebo
> que tenho que passar um valor qualquer no campo código, por exemplo,
> 0 (zero). Isto é ruim, pois implicaria em uma alteração muito grande
> em meu banco de dados, visto que a trigger só atualiza o campo chave 
> primária se o mesmo for NULL. Gostaria de saber como os colegas fazem 
> para resolver tal problema.
> 
> Obrigado à todos/*

Bom dia Fabrício aí complica um pouco o meio de campo pois o
clientdataset verifica se o camo é requerido ou não então ele não
permite passar nulo, uma coisa que você pode tentar é tentar retirar o
requerido, mas não sei se vai funcionar. No meu caso eu coloco no
evento onnewrecord o seguinte.

dataset.fieldbyname('campo').asinteger := 0;

Mas como você mesmo disse sua trigger verifica se é nulo e se for ela
faz o auto incremento, no meu caso não é assim, sempre incrento. Só por
curiosidade essa verificação de nulo é porque pode ser auto incrento ou
o usuário pode entrar com valor também??
Se for isso, não fica ruim e pode causar erros ou duplicações??
Qualquer coisa é só postar que tento ajudar na medida do possível.


T++++++++++

-- 






Mais detalhes sobre a lista de discussão lista