[firebase-br] Problemas com campo autoincrement

Maycon Ferraça maycon em nucleosistemas.com.br
Seg Jul 17 13:29:31 -03 2006


No AfterInsert da sua tabela coloque o seguinte código:
TABELACampo.Value := 1;

Crie um generetor no banco para sua tabela:
CREATE GENERATOR GEN_TABELA;

Crie uma trigger no banco para a sua tabela com o seguinte código:
CREATE TRIGGER BI_TABELA FOR PAR_TABELA
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
   NEW.CODIGO = GEN_ID(GEN_TABELA, 1);
END


[]
Maycon Ferraça


Fabiano escreveu:
> Olá Maycon,
>    
>   Poderia explicar + detalhadamente como fez isso? Ou exemplificar? Desculpe, mas é q essa é a primeira aplicação q estou desenvolvendo usando DBExpress+Firebird...
>    
>   
> 
> Maycon Ferraça <maycon em nucleosistemas.com.br> escreveu:
>   Até onde eu sei (também utilizo DBExpress), o motivo deste problema 
> seria por o DBExpress conter um bug (Andei lendo a respeito, mas não me 
> preocupei muito porque dei um "jeito" de contornar este problema).
> Quando você executa um "Post" este erro ocorre antes mesmo de ser 
> enviado para o banco (é uma validação do próprio DBExpress), pois pode 
> notar que é antes do "ApplyUpdates".
> Para contornar este problema, eu atribui um valor padrão para a coluna, 
> (seja qual for ele) e na trigger de before insert, somente atribui o 
> valor lido do generator, sem verificar se o campo é nulo.
> 
> []
> Maycon Ferraça
> 
> 
> 
> 
> Fabiano escreveu:
>> Prezados Colegas,
>>
>> Estou trabalhando com Delphi 7+ DBExpress + Firebird, tenho um banco com 2 tabelas e em cada uma delas criei um campo autoincrement, mas estou tendo problemas, pois quando tento salvar um registro recebo a seguinte mensagem de erro: Field value required.
>> Já fui no ClientDataSet e na Query e desliguei a propriedade Required dos campos, as opções pfInKey da propriedade ProviderFlags também estão desligadas, mas o erro persiste. Alguma outra dica??
>> Desde já agradeço.
>> Abçs.
>>
>>
>> ---------------------------------
>> Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora!
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 
> 
>  		
> ---------------------------------
>  Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora!
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista