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

Jorge Umberto niko em bruner.com.br
Qua Set 12 13:09:12 -03 2007


Só p lembrar que eu uso essa função somente no post.. Não resgato
gerador no insert; Tb, sei q é uma lista de Firebird mas, nossos
sistemas, graças ao dbexpress, estão prontos e funcionando em vários
bancos... Por isso q não usamos GENERATOR. Justamente por não conhecer e
nem saber se o próximo banco teria tal recurso. Tem um sistema com 40
máq, no chão de fábrica, financeiro e comercial e, nunca tivemos
problemas com transações, repetição de código, etc...

Entretanto, se o foco for o Firebird, sem dúvidas, Generator e
trigger...

Lembrando: a função, só uso no momento de gravação:

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