Olá, Alexandre

Agradeço a sua atenção para o meu problema, fiz o teste mas deu o mesmo erro, então 
resolvi o problema tirando a transação, acho que vou mudar a forma de atualização ao 
inves de atualizar no final vou atualizar item a item direto na inclusão, de qualquer 
forma valeu.

[]'s
  ----- Original Message ----- 
  From: Alexandre Oliveira 
  To: [EMAIL PROTECTED] 
  Sent: Tuesday, October 26, 2004 7:25 AM
  Subject: Re: [delphi-br] Problemas na Atualização do Estoque


  Olá,

  Porque você não tenta assim:

  procedure TForm1.bConfirmarClick(Sender: TObject);
  var
          tQry : TQuery;
  begin
          try
             tQry := tQuery.Create(nil);  // Cria Query temporaria
             tQry.DatabaseName := 'dbTeste';    //Alias
             try
                  // Inicia uma Transacao
                  Database.StartTransaction;
                  tbNotaItem.DisableControls;
                  tbNotaItem.First;
                  while not tbNotaItem.Eof do
                  begin
                          // Atualiza Estoque
                          with tQry do
                          begin
                                  SQL.Clear;
                                  SQL.Add('Update Produtos ');
                                  SQL.Add('Set Estoque = Estoque + :Qtde ');
                                  SQL.Add('Where Codigo = :Codigo');
                                  ParamByName('Qtde').AsFloat    :=
  tbNotaItem.FieldByName('Qtde').AsInteger;
                                  ParamByName('Codigo').AsString :=
  tbNotaItem.FieldByName('Produto').AsString;
                                  ExecSQL;
                          end;
                          tbNotaItem.Next;
                  end;
                  tbNotaItem.EnableControls;
                  Database.Commit;
             except
                  Database.Rollback;
                  raise;
             end;
          finally
             FreeAndNil(tQry);
          end;
  end;



  ----- Original Message -----
  From: "Sergio Toshio Kawahara" <[EMAIL PROTECTED]>
  To: <[EMAIL PROTECTED]>
  Sent: Monday, October 25, 2004 10:43 PM
  Subject: [delphi-br] Problemas na Atualização do Estoque



  DELPHI 6, PARADOX

  Pessoal estou com o seguinte problema na atualização do estoque quando mando
  rodar a rotina abaixo com mais de 100 itens da a seguinte mensagem:
  "Operation not Applicate too many open tables", alguem já passou por isso?

  Rotina para atualizar o estoque:

  procedure TForm1.bConfirmarClick(Sender: TObject);
  var
          tQry : TQuery;
  begin
          // Inicia uma Transacao
          Database.StartTransaction;
          try
                  tQry := tQuery.Create(Application);  // Cria Query
  temporaria
                  tQry.DatabaseName := 'dbTeste';    //Alias

                  tbNotaItem.First;
                  while not tbNotaItem.Eof do
                  begin
                          // Atualiza Estoque
                          with tQry do
                          begin
                                  SQL.Clear;
                                  SQL.Add('Update Produtos ');
                                  SQL.Add('Set Estoque = Estoque + :Qtde ');
                                  SQL.Add('Where Codigo = :Codigo');

                                  ParamByName('Qtde').AsFloat    :=
  tbNotaItem.FieldByName('Qtde').AsInteger;
                                  ParamByName('Codigo').AsString :=
  tbNotaItem.FieldByName('Produto').AsString;
                                  ExecSQL;
                                  Free;
                          end;
                          tbNotaItem.Next;
                  end;

                  tQry.Free;
                  Database.Commit;
          except
                  tQry.Free;
                  Database.Rollback;
                  raise;
          end;
  end;

  Agradeço qualquer ajuda.

  [As partes desta mensagem que não continham texto foram removidas]



  --
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]

  Links do Yahoo! Grupos










  --
  Este e-mail está livre de vírus.
  Verificado por AVG Anti-Vírus (http://www.avgbrasil.com.br).
  Versão: 7.0.280 / Banco de dados de Vírus: 264.12.2 - Data de Lançamento:
  22/10/2004




  -- 
  Mensagens enviadas estão livres de vírus.
  Verificado por AVG Anti-Vírus (http://www.avgbrasil.com.br).
  Versão: 7.0.280 / Banco de dados de Vírus: 264.12.2 - Data de Lançamento: 22/10/2004



  -- 
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]



        Yahoo! Grupos, um serviço oferecido por: 
             
                    São Paulo Rio de Janeiro Curitiba Porto Alegre Belo Horizonte 
Brasília  
             
       


------------------------------------------------------------------------------
  Links do Yahoo! Grupos

    a.. Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/
      
    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]
      
    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!. 



[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a