[firebase-br] Problema com Generator
Valdir Dill
valdirdill em infolivre.com.br
Seg Out 17 13:49:06 -03 2005
Tenho a seguinto função para incrementar o nr do generator:
"
function NovoCodigoGenerator : Integer;
begin
SQLQuery.Close;
SQLQuery.SQL.Clear;
SQLQuery.SQL.Add('SELECT Cast(GEN_ID(MeuGenerator,1) as Integer)as VNumero FROM RDB$DATABASE');
SQLQuery.Open;
Result := SQLQuery.Fields[0].AsInteger;
SQLQuery.Close;
end;
"
Essa função funciona bem. O problema é que, às vezes a função retorna o novo número do generator, mas não grava isso no banco de dados.
Por exemplo: o nr do generator atual é 48. Ao executar a função deveria retornar e gravar o nr 49. Na maioria das vezes é isso que acontece, ou seja, faz certinho, mas, às vezes, a função retorna o 49, mas no banco fica gravado o 48. Aí quando vou pegar executo novametne a função vai retornar novamente o 49.
Quando ocorre o erro não é comigo, é com usuários. Por isso não consigo debugar. E só acontece muito raramente.
Será que alguém tem alguma idéia do que poderia estar causando essa falha?
Obrigado.
Mais detalhes sobre a lista de discussão lista