[firebase-br] Auto Incremento

Fausto fausto.s.a em uol.com.br
Seg Abr 23 08:27:06 -03 2007


Vejam um exemplo neste 
site...http://www.activedelphi.com.br/modules.php?op=modload&name=News&file=article&sid=421
Eu o utilizo assim, mas as vezes qdo eu tenho que gerar algum lançamento 
via trigger ai nesta trigger mesmo eu aciono o Gen_ID.
Fausto

Reijanio Nunes Ribeiro escreveu:
> Renato so disse isso pq pra mim deu tudo na mesma pois olha so estava usando
> essw codigo aki (q atualizava por uma trigger) e na hora q excluia algum
> registro e inseria outro e atualizava no bd mais n na aplicação n sei pq?
> var
> trg_sacado: integer;
> begin
> trg_sacado := dm.CdsClientes.RecordCount;
> trg_sacado := trg_sacado + 1;
> dm.CdsClientes.Insert;
> dm.CdsClientes.FieldByName('idcli').AsInteger := trg_sacado;
>
>
> Em 21/04/07, Renato Deggau <rdeggau em gmail.com> escreveu:
>   
>> Reijanio:
>>
>> suponha que voce tenha cadastrado 5 clientes (1,2,3,4 e 5); dai pela
>> identificacao de que o cliente 4 náo deveria ter sido cadastrado, voce
>> o exclui - agora voce tem 4 clientes; posteriormente vai incluir um
>> novo cliente; pelo seu codigo ele receberia o codigo 5 e este já
>> existe no sistema o que provocaria violaçao de chave primaria
>>
>> Renato Deggau
>>
>> On 4/20/07, Reijanio Nunes Ribeiro <rnribeiro em gmail.com> wrote:
>>     
>>> se vc usar direto no evento onnewrecord no clientdataset n seria mais
>>>       
>> facil
>>     
>>> não?
>>> ClientesIDcli.value := clientes.recordcount + 1
>>>
>>> Em 20/04/07, Marcelo Castro - [www.ligteltelecom.com.br] <
>>> marcelo.castro em ligteltelecom.com.br> escreveu:
>>>       
>>>> Amigos;
>>>>
>>>> Eu estou usando um generator para criar auto incremento.
>>>>
>>>> Seria possível fazer eu fazer esse auto incremento direto no banco.
>>>>
>>>> Porém estou usando uma query para isso.
>>>>
>>>> Estou fazendo assim pelo delphi.
>>>>
>>>> procedure TDM_Server.DspProdutosBeforeUpdateRecord(Sender: TObject;
>>>>   SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
>>>>   UpdateKind: TUpdateKind; var Applied: Boolean);
>>>> begin
>>>>        IF UpdateKind = ukInsert THEN
>>>>     BEGIN
>>>>       if SourceDS = QryProdutos THEN
>>>>         BEGIN
>>>>            QryGenProdutos.OPEN;
>>>>
>>>>            TRY
>>>>              FNUMPROD := QryGenProdutos.fieldbyname
>>>> ('PROD_CODIGO_NOVO').AsInteger;
>>>>            finally
>>>>
>>>>            QryGenProdutos.Close;
>>>>
>>>>            end;
>>>>            DeltaDS.fieldbyname('PROD_CODIGO').NewValue := FnumPROD;
>>>>
>>>>            end;
>>>>            end;
>>>> end;
>>>> ______________________________________________
>>>> 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
>>>
>>>       
>> ______________________________________________
>> 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