[firebase-br] Fw: TClientDataSet+Campos Not Null

Fabrício Fadel Kammer ffkammer em conchalnet.com.br
Qua Out 29 16:02:17 -03 2008


Boa tarde Anticlei,

O problema não é este não, a diferença entre o Append e o Insert é que o 
append adiciona um registro ao final de uma tabela e o insert na posição 
onde o cursor esta no banco. O problema é que eu precisava setar o 
required=false no TIBQuery também.

[]s

Fabrício

Anticlei Scheid escreveu:
> Acho que o problema está em usar Append em vez de usar o Insert, pois 
> veja o que diz o Help do Delphi :
>
> TDataSet.Append
> Adds a new, empty record to the end of the dataset.
>
> Description
> For datasets that permit editing, call Append to:
> 1 Open a new, empty record at the end of the dataset.
> 2 Set the active record to the new record.
>
> Isto é, o método Append cria um registro vazio, então significa que 
> ele gravará valores nulos no registro, taí o problema.
> Use o método Insert, pois acho que isso resolverá seu problema.
>
> Abraço
>
> ----- Original Message ----- From: "Fabrício Fadel Kammer" 
> <ffkammer em conchalnet.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, October 29, 2008 2:01 PM
> Subject: Re: [firebase-br] Fw: TClientDataSet+Campos Not Null
>
>
> Pessoal o problema meu é estranho, pq o erro (Field valeu required)
> ocorre quando dou um Append no DataSet e não quando dou um Post, com
> isso não tenho tempo de preencher os campos obrigatórios, não consigo
> colocar o TClientDataSet em modo de inserção. Alguém sabe me dizer como
> resolver tal problema?
>
> Abraços
>> E se colocar um valor "default" para o campo o TclienteDataset aceita ?
>> Voce pode colar default  "0" ou -1 por exemplo e na trigger fazer a 
>> verificação.
>> if (new.campo = 0) then   // ou -1 como queira
>>   new.campo = gen_id(.....
>>
>>
>> Sandro
>>
>> ----- Original Message ----- From: "Anticlei Scheid" <clei em geous.com.br>
>> To: "Firebird Lista" <lista em firebase.com.br>
>> Sent: Wednesday, October 29, 2008 11:08 AM
>> Subject: [firebase-br] Fw: TClientDataSet+Campos Not Null
>>
>>
>> Só me esqueci de informar que a geração da chave via generator não 
>> deve mais
>> ficar num trigger, mas numa função no seu código Delphi.
>>
>> ----- Original Message ----- From: "Anticlei Scheid" <clei em geous.com.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Wednesday, October 29, 2008 10:01 AM
>> Subject: Re: [firebase-br] TClientDataSet+Campos Not Null
>>
>>
>>> Bom dia Fabrício
>>>
>>> Eu uso uma função muito parecida com aquela que vc postou 
>>> anteriormente no evento BeforePost do TClientDataSet.
>>> Uso no BeforePost para evitar ao máximo a perda de sequência 
>>> númerica na chave, mas pode ser usado também no evento AfterInsert, 
>>> caso em que vc pode ficar com "buracos" na sequência númerica da 
>>> chave se o usuário resolver cancelar a operação antes de salvar o 
>>> novo registro, fica por conta da sua escolha.
>>>
>>> Abraço
>>>
>>> ----- Original Message ----- From: "Fabrício Fadel Kammer" 
>>> <ffkammer em conchalnet.com.br>
>>> To: "Lista Firebase" <lista em firebase.com.br>
>>> Sent: Wednesday, October 29, 2008 8:30 AM
>>> Subject: [firebase-br] TClientDataSet+Campos Not Null
>>>
>>>
>>> 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/*
>>>
>>> Fabrício F. Kammer
>>> */
>>>
>>> ______________________________________________
>>> 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
>>
>
>


-- 
/*><((º>`·.¸.·´¯`·.:°`·..¸><((º>.°
Fabrício Fadel Kammer
Conchal - SP/*  ·´¯`·.><((º>
/*><((º>`·.¸.·´¯`·.,·><((º> .·°*/*/*/




Mais detalhes sobre a lista de discussão lista