[firebase-br] RES: Auto Imcremento no FireBird e DB Express

Jorge Umberto niko em bruner.com.br
Ter Set 11 10:50:21 -03 2007


Nos sistemas, usamos várias empresas e vários bancos. Então, fiz essa
função q resolve o nosso problema. Se ajudar no seu caso, aí está.
Detalhe, toda chave de nossas tabelas tem o nome "CODIGO". 


function TModuloPrincipal.ObterGeradorEmp(tabela: string; empresa:
integer):integer;
var    SqlGerador : TSQlquery;
begin
  SqlGerador:= TSQlquery.Create(self);
  SqlGerador.SQLConnection := banco;
  with SqlGerador do
  begin
    Close;
    Sql.Clear;
    SQl.Add('SELECT MAX(CODIGO) FROM ' + tabela + ' WHERE CODEMP = ' +
IntToStr(empresa));
    Open;
    Result := Fields[0].AsInteger + 1;
  end;
  FreeAndNil(SqlGerador);

end;





Mais detalhes sobre a lista de discussão lista