Fórum autoincremento usando triggers em campo not null #50742

29/04/2005

0

pessoal,

como tem como eu criar um autoincremento usando triggers em um campo not null??
quando eu vou salvar sempre da erro dizendo q o campo não pode ser nulo...

t+


Mrcdlf

Mrcdlf

Responder

Posts

29/04/2005

Vinicius2k

Colega,

O erro é no banco ou na aplicação ?
Para estes casos, é necessário setar a propriedade ´Required´ do TField em em questão para False no(s) Dataset(s), caso contrário a aplicação estará obrigando-o a preenchê-lo com uma mensagem similar à : ´Field must have a value´.

T+


Responder

Gostei + 0

29/04/2005

Mrcdlf

Colega, O erro é no banco ou na aplicação ? Para estes casos, é necessário setar a propriedade ´Required´ do TField em em questão para False no(s) Dataset(s), caso contrário a aplicação estará obrigando-o a preenchê-lo com uma mensagem similar à : ´Field must have a value´. T+


o erro vem do banco...
justamente pq a triggers só preenche depois do applyupdate, então ele entente q o campo tá nulo enquanto não poderia estar...

já tentei a propriedade ´Required´ como false mais não mudou nada!


Responder

Gostei + 0

29/04/2005

Vinicius2k

Colega,

Se vc estiver utilizando dbExpress, é necessário setar o Required = False no TSQLDataSet / TSQLQuery e no TClientDataSet. Vc já o fez?

Por favor, poste o código da Trigger, caso a observação acima não seja a solução.

T+


Responder

Gostei + 0

29/04/2005

Mrcdlf

acho q agora eu consegui...

mais ainda tenho uma duvida...

se eu quiser apresentar esse numero gerado durante a inserção, tem como???


Responder

Gostei + 0

29/04/2005

Mrcdlf

ah, estou usando o IBDataSet


Responder

Gostei + 0

29/04/2005

Gandalf.nho

se eu quiser apresentar esse numero gerado durante a inserção, tem como???


A maneira mais simples, acho que é usar a propriedade GeneratorField do IBDataSet ou IBQuery


Responder

Gostei + 0

29/04/2005

Mrcdlf

[quote:ede80b93cd=´mrcdlf´]se eu quiser apresentar esse numero gerado durante a inserção, tem como???


A maneira mais simples, acho que é usar a propriedade GeneratorField do IBDataSet ou IBQuery[/quote:ede80b93cd]

pois é... é isso mesmo que vou fazer...

pensei q havia uma maneira do banco fazer isso, mais acho q fica mais viavel a propriedade do IBDataSet mesmo...


Responder

Gostei + 0

29/04/2005

Vinicius2k

Realmente, esta é a opção mais prática. Caso contrário vc teria que utilizar-se da função GEN_ID através de uma query auxiliar para que o valor do Generator possa ser exibido ao usuário sem a necessidade de re-executar a query.

T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar