[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