Skip to content
Daniel Morais Compartilhe. Aprenda. Evolua.
Aprenda Lazarus Aprenda Lazarus

Blog dedicado a quem quer aprender Lazarus. Dicas, Tutorias e Videos !

  • Links Úteis
  • Lazarus
  • Banco de Dados
  • Componentes
  • ACBr
  • Dicas
  • Canais do Youtube
    • Anderson Fiori
    • Anderson Junior G Da Silva
    • Adriano Lima
    • Alexandre Magno Souza
    • Ari Rodrigues
    • Daniel Morais
    • Daniel Steckler
    • Eder Telhado
    • Fabio Luis Girardi
    • Gilberto – XyberSportGames
    • Humberto Sales
    • Insist Informática
    • JR Escola
    • Luciano Rocha
    • Marcos Douglas B. Santos
    • Pedro Araujo
    • Sergio Falco Daniel
  • Grupos Telegram
    • Lazarus Free Pascal
    • Lazarus BR
Aprenda Lazarus
Aprenda Lazarus

Blog dedicado a quem quer aprender Lazarus. Dicas, Tutorias e Videos !

Função para retornar o valor de um campo auto-incremento

Daniel Morais,

Recebi muitos e-mails de amigos inscritos no meu blog e no canal do youtube com perguntas:

Como saber o próximo número do auto-increment?
como recuperar último código de um auto-incremento ?
Como saber o próximo valor do auto incremento?

###### Clique no GOSTEI ! isso me ajuda muito ! #############

Neste vídeo vou mostrar como criar uma função para retornar o valor do campo auto incremento e como definir o valor do próximo incremento.

###### Função  #####

Uses db; // Declare USES DB

//Private ou Public
function RetornaAutoINC(cTabela, cCampoAI: String; vAtribui:variant):Variant;


        //Função:

function RetornaAutoINC(cTabela, cCampoAI: String; vAtribui:variant): Variant;
var
  vResultaAutoIncrimento : Variant; // resultado do incremento
  nQTD : Variant;   // Variável para próximo incremento
begin
  nQTD:=vAtribui; // atribuição a variavel nQTD o valor do próximo incremento obtido pelo parametro da funcao
  TabGlobal.SqlAutoInc.Close; // fecha Query
  TabGlobal.SqlAutoInc.sql.Clear; // limpa Query
  TabGlobal.SqlAutoInc.SQL.Add(‘Select Max(‘+cCampoAI+’) as nCocInc from ‘+cTabela); // escreve nova query com parametros recebido da funcao
  TabGlobal.SqlAutoInc.Open; // abre a nova query
  case TabGlobal.SqlAutoInc.Fields[0].DataType of
    ftSmallint, ftWord, ftInteger: // se o campo AI for SmallInt, Word ou Integer
      vResultaAutoIncrimento := TabGlobal.SqlAutoInc.Fields[0].AsInteger + nQtd;
    ftFloat, ftCurrency: // Se o campo for Float ou Currency
      vResultaAutoIncrimento := TabGlobal.SqlAutoInc.Fields[0].AsFloat + nQtd;
  end;
  TabGlobal.SqlAutoInc.Close; // fecha query
  Result := vResultaAutoIncrimento; // retornar o campo Resultado Auto INc
end;

###### Assista o vídeo #######

Banco de Dados Funções e Procedimentos

Navegação de Post

Previous post
Next post

ACBr acbrbal acbr lazarus ACBRposprinter atalhos Atualizar atualizar lazarus controle de tanques crosscompile cross compile cross compiling curso dbgrid Delphi Dia do ACBr formularios grid horse impressora de cupom imprimir cupom instalador acbr json Lazarus lazarus android lazarus rede LazReport menu MySQL nivel de tanque Palestras pesquisa pesquisa com varios camois pesquisa dimanica pesquisa incremental pesquisa multipla PostGreSQL Programação RDW rest data were rxdbgrid servidor Servidor Rest dataware TEF Utilitários views

  • Monitora – Desenhe e monitore sua rede doméstica ou escritório. Escrito em Lazarus/FPC.
  • Crie seu projeto Lazarus/fpc a partir das tabelas do seu banco de dados.
  •  IntraWeb no Lazarus – Primeiros Passos
  • Utilizando Interpose Class no Lazarus
  • Lazarus IDE Aprendendo por exemplos
©2026 Aprenda Lazarus | WordPress Theme by SuperbThemes