[firebase-br] Campo auto incremento
Francisco Thiago de Almeida
jeandeadlucky em yahoo.com.br
Seg Jan 10 14:39:45 -03 2005
Olha, ante do ApplyUpdates, você faz o seguinte
1- Incrementa o generator, pega o valor dele e atribui a uma variável
select gen_id(generator,1) as campo from rdb$database
2- Atribui o valor desta variável ao campo chave...
3- Mostra a mensagem com o número retornado...
Algo como
var
li_PK :integer;
begin
with TSQLDataSet.Create(nil) do
try
SQLConnection := Self.SQLConnection;
CommandText := 'select gen_id(generator,1) as campo from rdb$database'
Open;
li_PK := Fields[0].AsInteger;
Close;
DataSet.FieldByName('Chave').AsInteger := li_PK;
DataSet.Post;
DataSet.ApplyUpdates(0);
finally
Free;
end;
----- Original Message -----
From: "Marlon" <bobbyjr em brturbo.com>
To: <lista em firebase.com.br>
Sent: Monday, January 10, 2005 2:15 PM
Subject: Re: [firebase-br] Campo auto incremento
> Thiago, vc poderia me explicar melhor a sua ideia?
>
> Francisco Thiago de Almeida escreveu:
>> Acho que não funciona.
>> Se durante o intervalo de sua inserção, outra transação incluir um
>> registro, ele vai te retornar um valor falso.
>> O que você pode fazer é incrementar o generator no before Post e atribuir
>> o valor retornado na chave de sua tabela.. assim você teria o valor no
>> seu sistema
>>
>> Espero ter ajudado
>>
>> Thiago
>>
>> ----- Original Message ----- From: "Maicon Gabriel"
>> <maicongabriel em gmail.com>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Monday, January 10, 2005 12:34 PM
>> Subject: Re: [firebase-br] Campo auto incremento
>>
>>
>> Utilize a instrução:
>> SELECT GEN_ID(NOME_DO_GENERATOR, 0) FROM RDB$DATABASE
>>
>> onde "NOME_DO_GENERATOR" é o nome do seu generator e 0 (zero), indica
>> que o generator não receberá incremeto, sendo assim, retornará o valor
>> atual contido no generator!
>>
>>
>> On Mon, 10 Jan 2005 12:17:03 -0200, Marlon <bobbyjr em brturbo.com> wrote:
>>
>>> Olá,
>>>
>>> Tenho uma trigger para o auto incremento com generator etc.. estou
>>> utilizando o delphi e gostaria de saber se tem como eu pegar o valor do
>>> numero q foi gerado pela trigger. É que eu gostaria de mostrar uma
>>> mensagem do tipo 'O item numero xxxxx foi criado com sucesso'.. essa
>>> mensagem é importante para o operador.
>>>
>>> Muito obrigado pela atençao
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>>> Para editar sua configuração na lista, use o endereço
>>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
Mais detalhes sobre a lista de discussão lista