Skip to content
Daniel de Morais Compartilhe. Aprenda. Evolua.
Infocotidiano Infocotidiano

Meu dia-a-dia tecnológico

Infocotidiano
Infocotidiano

Meu dia-a-dia tecnológico

Aprenda Programar: função para retornar o valor de um campo auto-incremento

Daniel Morais, 20162019

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 #######


Delphi Funções Lazarus MariaDB MySQL Programação Todos

Navegação de Post

Previous post
Next post

Deixe um comentário Cancelar resposta

Você precisa fazer o login para publicar um comentário.

Pesquisa

ACBr acbr lazarus ACBRposprinter antivirus antivirus gratuito apagar atualizar AVG AVG FREE banco de dados chave estrangeira consulta create table criar tabela crosscompile cross compile cross compiling dbgrid delphi Dia do ACBr filtro flutter foreign key horse impressora de cupom instalar join lazarus Lazarus Streaming Day linux MariaDB mysql parametros pesquisa incremental pesquisa multipla PostGreSQL primary key Python query RDW rxdbgrid sql server update views where

  • Python para Programador Pascal – Parte #1
  • 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.
  • Instalando o Node.js e Gerenciando Dependências no Windows
  • Introdução a Classes em Python, cliente
  • Dica Python: Como separar Listas de Forma Elegante
  • Python #01 – Instalando Python e Studio Code no Linux
  • Entendendo Operadores de Comparação Python
  • Entendendo os Operadores Aritméticos em Python
  •  IntraWeb no Lazarus – Primeiros Passos
  • Utilizando Interpose Class no Lazarus
  • Antivírus Gratuitos DEZ2024
  • Operadores em Python
©2026 Infocotidiano | WordPress Theme by SuperbThemes