Zerar autoincremento

Delphi

04/10/2004

tem como zerar um campo identificado como [b:c9218b94cd]identity(1,1) [/b:c9218b94cd]????


Arc

Arc

Curtidas 0

Respostas

Dephiro

Dephiro

04/10/2004

Quanto trabalhamos com tabelas Paradox e apagamos o seus registros, o contador do campo AutoIncremento não é zerado, criando muitas vezes um grande inconveniente. Para resolver esse problema, use a seguinte função:

function ResetAutoInc(FileName: TFileName; Base: Longint): Boolean;
begin
with TFileStream.Create(FileName, fmOpenReadWrite) do
Result := (Seek($49, soFromBeginning) = $49) and (Write(Base, 4) = 4);
end;
O parâmetro FileName é o nome da tabela, incluindo o caminho. E o parâmetro Base é o valor inicial para o contador do AutoIncremento.


GOSTEI 0
Arc

Arc

04/10/2004

to usando sql server 2000


GOSTEI 0
Dephiro

Dephiro

04/10/2004

Não dá pra tentá o mesmo código em sql2000? Talvez mudando uma coisinha aqui talvez dá!


GOSTEI 0
Arc

Arc

04/10/2004

Esta dica foi passada pelo nosso amigo Marcus Magalhães

Para quem precisar :

[b:e45133b4dd]DBCC CHECKIDENT (´NomedaTabela´, reseed, 0) [/b:e45133b4dd]

Funciona belezinha....

Abraço


GOSTEI 0
Quadrado

Quadrado

04/10/2004

Isto funciona para Access. Se não funcionar, alguem sabe como fazer ?

Quadrado


GOSTEI 0
Arc

Arc

04/10/2004

Eu executei este comando no Query Analyzer do Sql Server 2000 e funcionou ....


GOSTEI 0
POSTAR