Du kan også gøre det inde i dit program således:
Forudsætninger for dette eksempel:
Databasen hedder RteD.DB og tabellen RteDTable.
hovedprogram med kode...
blablabla...
RteDTable.Open;
S:= RteDTable.Database.Directory; {get path}
RteDTable.Close; {important! close
database}
SetAutoInc(S+'RteD.DB',1); {set autoinc to 1}
RteDTable.EmptyTable; {delete all records}
blablabla...
procedure TDM1.SetAutoInc(const S: string; N: integer);
var
MyStream: TFileStream;
Buffer: integer;
begin
Buffer:= N;
Mystream:= TFileStream.Create(S,fmOpenReadWrite + fmShareDenyNone);
try
{the autoincrement number is 4 bytes wide, starting at address 73}
MyStream.Seek(73,soFromBeginning);
MyStream.WriteBuffer(Buffer,4);
finally
MyStream.Free;
end;
end;
Husk!
Hvis du piller ved autoinc nummeret, så SKAL du efterfølgende slette alt, så
ingen poster ved et uheld får samme nummer, for så har du virkelig inviteret
dig selv til århundredets BDE-fest! :)
Mvh RH
|