Como pegar ultimo ítem do banco?

Delphi

30/12/2003

Iae pessoal,
estou fazendo um sistema com segue por uma coluna ID/Código.
Então, como eu poderia saber o valor da ultima linha do banco pra pegar esse ID e somar mais 1 para continuar a gravar e sempre ir adicionando?


Ps.: Tipo a função autoincrement em especial não me serve nesse caso.

Obrigado


Lipsil

Lipsil

Curtidas 0

Respostas

Felipemarinho

Felipemarinho

30/12/2003

Meu camarada existe dus maneiras de vc fazer isso
uma deles é a seguinte

Nome_Da_Tabela.last (com ess comando vc coloca a tabela no último registro)
VARIAVEL_QUE_IRA_RECEBER_O_CODIGO := NOME_DA_TABELA_CAMPO_DA_TABELA.ASITERGER +1

a OUTRA MANEIRA QUE É MAIS RÁPIDA POIS USA SQL

VC PEGA UMA QUERY E NA PROPRIEDADE ´SQL´ DIGITE O SEGUINTE

SELECT MAX(NOME_DO_CAMPO_PARA_INCREMENTAR) CODIGO
FROM NOME_DA_TABELA

DEPOIS INSIRA ESTE CÓDIGO

Query.Close;
Query.open;
nome_da_variavel := Query.FieldByName(´CODIGO´).AsInteger +1;

Pronto já esta pronto seu auto_increment

obs não se esqueça de configurar a query igual vc configura uma table, ou seja associando uma data base


GOSTEI 0
Lipsil

Lipsil

30/12/2003

vALEW KRA,
É ISSO AÍ MESMO...
só q agora, como faço pra converter isso pra colocar num edit?


Valew


GOSTEI 0
Maicongabriel

Maicongabriel

30/12/2003

Seguindo o exemplo do [b:faaa68057a]felipemarinho[/b:faaa68057a].

var
  iCodigo : Integer;
begin
  Query.SQL.Clear;
  Query.SQL.Text := ´SELECT MAX(NOME_DO_CAMPO_PARA_INCREMENTAR) CODIGO FROM NOME_DA_TABELA´;
  Query.Close;
  Query.Open;
  iCodigo := Query.FieldByName(´CODIGO´).AsInteger +1;
  Edit1.Text := IntToStr(iCodigo);
end;


[i:faaa68057a]O codigo foi escrito de uma maneira simples e pode ser otimizado...[/i:faaa68057a]


GOSTEI 0
POSTAR