[firebase-br] Campo auto incremento
Marlon
bobbyjr em brturbo.com
Seg Jan 10 15:02:07 -03 2005
Mais é um sistema multiusuario, e se outra pessoa fazer a transação ao
msmo tempo?? Não vai sair números repetidos?
Francisco Thiago de Almeida escreveu:
> 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
>>
>
>
>
> ______________________________________________
> 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