Buscar

Gera Chave Primária da Tabela (DB)

Código

{Pessoal segue uma função para realizar a geração de uma chave primária na tabela do banco de dados.

TfrFinanceiro: Nome do formulário deve ser alterado.
dmCnn.queryGeral: Nome do formulário que contém todos os componentes de conexão, em seguida o nome do componente.
DatabaseName: Nome da instância do banco no DBE.
iCodigo: Armazena o ultimo registro da tabela.
sCodigo: Exibe o código gerado pela função.

Quando for realizar a geração do código, deve ser gerada a função antes da inserção na tabela, veja abaixo um exemplo:

Codigo := GeraCodigo;

Obs.: “Codigo” é uma variável criada para armazenar o resultado da função gerado código, aonde a mesma será utilizada no comando de inserção no banco.
}

//function Gera Chave primária
function TfrFinanceiro.GeraCodigo(): String;
var
  sCodigo: String;
  iCodigo: Integer;
begin
  try
    with dmCnn.queryGeral do
    begin
      Close;
      DatabaseName := 'DBExpress';
      SQL.Clear;
      SQL.Add('SELECT Codigo FROM tblFuncionario');
      Open;
      if Eof = false then
      begin
        Last;
        iCodigo := StrToInt(FieldByName(‘Codigo’).AsString) + 1;
        Case Length(IntToStr(iCodigo)) of
          1: sCodigo := 'F00000' + IntToStr(iCodigo);
          2: sCodigo := 'F0000' + IntToStr(iCodigo);
          3: sCodigo := 'F000' + IntToStr(iCodigo);
          4: sCodigo := 'F00' + IntToStr(iCodigo);
          5: sCodigo := 'F0' + IntToStr(iCodigo);
          6: sCodigo := IntToStr(iCodigo);
        end;
        Result := sCodigo;
      end
      else
      begin
        Result := 'F000001';
      end;
    end;
  except
        //Mensagem de erro caso não consiga conexão     
        MessageDlg('Erro ao gerar a Chave Primária.',mtError,[mbOK],0);
  end;
end;

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Forms
Adicionada dia: 25/08/09
Por: Denis
Visualizada: 3185 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009