[firebase-br] RES: Problemas com campo autoincrement

Jeter Rabelo Ferreira jeter.rabelo em gmail.com
Qua Jul 19 13:50:30 -03 2006


Olá Fabiano,
Também tive este tipo de problemas a alguns anos atrás. Efetuando testes,
descobri que a Trigger não disparava ao efetuar o comando ApplyUpdates do
ClientDataset. Ela só disparava quando eu incluia o registro via Insert
Into.
Então eu fiz o seguinte desde então, em vez de criar Trigger, eu crio Stored
Procedure para gerar o número de AutoIncremento.
No evento OnBeforePost no ClientDataset eu efetuo a chamada da Stored
Procedure, pego o valor de retorno que é a nova chave e altero o respecito
valor na tabela e pronto, nunca mais tive problemas.
Segue abaixo um exemplo da Stored Procedure:

CREATE PROCEDURE SP_G_ID_NFISCAL
RETURNS (
    ID INTEGER)
AS
BEGIN
  ID = GEN_ID(G_ID_NFISCAL, 1);
  SUSPEND;
END

[]'s
Jéter Rabelo Ferreira
.

Em 17/07/06, José Aparecido da Silva <joseasilva em bol.com.br> escreveu:
>
> Existe campo auto incremento no Firebird?
>
> Será que não é preciso criar um gerador de número para o seu campo?
>
> Podia esclarecer melhor?
>
> []'s
>
> José
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> Em
> nome de Fabiano
> Enviada em: segunda-feira, 17 de julho de 2006 10:57
> Para: lista em firebase.com.br
> Assunto: [firebase-br] Problemas com campo autoincrement
>
> 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
>



Mais detalhes sobre a lista de discussão lista