[firebase-br] Registros duplicados e Demora para Incrementar....
Alcistemas Informática
alcistemas em yahoo.com.br
Ter Dez 20 20:23:45 -03 2005
Prezados amigos, estou com o seguinte problema:
uso firebird 1.5, componentes de acesso da paleta Interbase do Delphi 7
preciso gerar o proxímo número de pedidos, em uma base dados com 102.000 pedidos já gravados e uma média de 400.000 itens relacionados no total
tem uns 2000 clientes, o problema é:
para gerar o número do proximo número do pedido faço assim:
Dm.Qy_033.Close;
Dm.Qy_033.SQL.Clear;
Dm.Qy_033.SQL.Add('SELECT MAX(NM) AS GERAL FROM PEDIDOVENDAS');
Dm.Qy_033.Open;
if Dm.Qy_033.Fields[0].Text <> '' then
EditNm.Text := IntToStr(StrToInt(Dm.Qy_033.Fields[0].Value)+1)
else
EditNm.Text := '1';
end;
Tenho então 2 problemas:
1) quando se tem um outro usuario fazendo o gravar no mesmo momento os números de pedidos se repetem nas duas máquinas.
2) Quando o gravar é sozinho, mesmo sem ninguem gravando ao mesmo tempo a demora é muito grande.
as vezes da erro de DEADLOCK ?????
Criei indice e nada, usei um Generator e nada também.... alguém poderia me dar uma ajudinha ?
Mais detalhes sobre a lista de discussão lista