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..
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
Curtir tópico
+ 0
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.
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
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
Clique aqui para fazer login e interagir na Comunidade :)