[firebase-br] Auto Incremento

Reijanio Nunes Ribeiro rnribeiro em gmail.com
Seg Abr 23 07:56:46 -03 2007


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
>



Mais detalhes sobre a lista de discussão lista