criação de autoincremental com tabela controle

07/02/2006

0

ola galera clube delphi eu tenho um controle de codigo autoincremental no sql server usando delphi 7,
Que nao controla quando o codigo ja foi apagado ele nao gera novamente aquele codigo ja gera o proximo.

[b:34ba921f52]exemplo [/b:34ba921f52]se eu deletar o ultimo codigo 3 depois gerar um novo ele registro ele era o 4 e esquece o 3 ;

tem como eu fazer com que ele nao perca o ultimo codigo que nesse exemplo foi apagado.

minha rotina esta ai em baixo..

qrControle.Open;
qrFornecedoresCodigo.Value:= qrControleFornecedor.value+1;
qrControle.edit;
qrControleFornecedor.Value:= qrControleFornecedor.Value+1;
qrControle.Post;
qrControle.close;

obrigado a todos que possam me ajudar..


Firekiller_am

Firekiller_am

Responder

Posts

07/02/2006

Aroldo Zanela

Colega,

Não vejo o menor problema em ter falhas na numeração incremental, eis que o normalmente objetivo é assegurar o relacionamento entre mestre e detalhe. No entanto, você pode adicionar esse controle no manipulador de eventos BeforeDelete, comparar se a tabela de controle possui o número do registro que será removido e em caso positivo ´decrementar´ na tabela de controle e em seguida efetuar a exclusão.


Responder

07/02/2006

Michael

A idéia de campos incrementais é manter a unicidade dos registros. Desta forma vc pode relacionar tabelas por estes campos sabendo que eles nunca serão alterados ou repetidos.

Tome cuidado ao mudar a incrementação dos campos nesta situação, pois isso pode quebrar a consistência do banco de dados e deixar registros órfãos.

[]´s


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar