Fórum Campo código como inteiro #185953

02/10/2003

0

Olá pessoal, tenho a seguinte duvida:
Define um campo chave Codcli como inteiro, a cada nova inserção tenho que definir Codcli:= Codcli+1 ...............?????????????
ou estou viajando?

Mesma coisa qdo vou excluir Codcli:= Codcli-1......??????????

Ou seja por exemplo tenho cliente 1,2,3 se eu exluir o 2 como faço para que o proximo cadastro ocupe a posição 2 ao invés da 4 posição?


Rmeneghel

Rmeneghel

Responder

Posts

02/10/2003

Mmtoor

Utilize autoincremento, idependente do BD.


Responder

Gostei + 0

03/10/2003

Luizfernando777

Caro Colega
Pode-se usar o auto incremento,
mas pelo que noto ele quer reutilizar o número excluido
neste caso não daria,
vc pode fazer o seguinte,
eis a rotina

function TDM.GeraCodigo( Tabela: String; Campo:String ):Integer;
var
Codigo : Integer;
begin

Codigo := 1;
// qCodigo é uma Query
with qCodigo do
begin
Close;
SQL.Clear;
SQL.Add(´ Select * From ´ + Tabela );
SQL.Add(´ Order by ´+ Campo );
Prepare;
Open;

if RecordCount <> 0 then
begin
First;
while not Eof do
begin
if FieldByName(Campo).Value <> Codigo then
break
else
begin
inc(codigo);
Next;
end;
end;
end;
Close;
end;

Result := Codigo;
end;


Responder

Gostei + 0

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

Aceitar