[firebase-br] RES: Auto Imcremento no FireBird e DB Express
Antonio Carlos
a.lima.silva em terra.com.br
Ter Set 11 11:53:54 -03 2007
e qual o contexto de transação que vc usa explicitamente para fazer com que
derrepente dois resultados iguais ocorram "se" simultaneamente for solicitao
a geração desse codigo ?
----- Original Message -----
From: "Jorge Umberto" <niko em bruner.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Tuesday, September 11, 2007 10:50 AM
Subject: [firebase-br] RES: Auto Imcremento no FireBird e DB Express
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;
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
__________ Informação do NOD32 IMON 2521 (20070911) __________
Esta mensagem foi verificada pelo NOD32 sistema antivírus
http://www.eset.com.br
Mais detalhes sobre a lista de discussão lista