Sumindo Registro Firebird

Delphi

10/10/2010

Bom Dia Pessoal,

Estive olhando o tópico do Edison_br de 2003 (http://forum.devmedia.com.br/viewtopic.php?t=24068&sid=27943f51f805b8fb6ac5e43ca94057d7) onde ele relata que:
É o seguinte tenho uma aplicação que roda em 
varios clientes sem problemas. Contudo a alguns dias em um cliente 
começaram a sumir itens de alguns pedidos aleatóriamente. Ja verifiquei 
indice, testei, retestei qdo se está testando não se detecta nenhum 
problema. não da erro de gravação, estou utilizando tranzação me 
certifiquei de que estava correto.


A estrutura e a seguinte.


Servidor - P4 1.7 - 256MB - HD 40GB 7200 rpm Windows 2000


mais 5 Estações com configurações diversas o sistema e C/S Midas.


Interbase 6.0.2.0


Bem, estou passando pelo mesmo problema, e ele não postou se conseguiu resolver, e lá no post não tem solução clara para o problema.

Gostaria que se alguém pudesse me ajudar com esse incoveniente.

Uso Delphi 7, Firebird 2.1, ClientDataSet e minha rotina é essa:

procedure TFormManutPedidos.salvar_item(prod, lote, vencto_lote, pro_descri, pro_unid,
   for_nome : string; pedido, perdas, pr_venda, pro_pr_normal, pro_bonif, pro_desc_extra : real);
Var Acha : Variant;
    trans : TTransactionDesc;
    Quant_Atend, Falta : Real;
    Vencto : String;
begin
   //Crio uma transacao Aleatoria
   trans.TransactionID := FormPrincipal.oSQL.reqTransacao();
   trans.IsolationLevel := xilREADCOMMITTED;
   FormPrincipal.DB.StartTransaction(trans);
   Try
          // Gravar no cds
          ExecutaQuery('Insert into itenspedido (PEDNUM, PEDPROCOD, PEDLOTE, '+
                'PEDQUANT, PEDVENCTO,PEDPRECO,PEDCONFERIDO,PEDPERDAS,PedComissao,'+
                'PedCusto,PedPrecoVenda) Values ('+num_ped + ',' + prod +
                ','+lote+','+ ConvDecimal(FloatToStr(quant_atend))+','+ QuotedStr(vencto) + ','+
                ConvDecimal(FloatToStr(pr_venda))+',0,0,'+
                ConvDecimal(ceComiProd.Text) + ',' +
                ConvDecimal(cdsEstoquePROCUSTO.AsString) + ',' +
                ConvDecimal(FloatToStr(pro_pr_normal))+ ')',1);
          //Gravo definitivo no banco de dados
          FormPrincipal.DB.Commit(trans);
   Except
      FormPrincipal.DB.Rollback(trans);
      Application.MessageBox( PChar('Transação não concluida!'), 'Alerta', MB_OK + MB_ICONERROR );
      Exit;
   end;
end;



Fico no aguardo...





Dirceu Morais

Dirceu Morais

Curtidas 0

Respostas

Dirceu Morais

Dirceu Morais

10/10/2010

sobre
GOSTEI 0
POSTAR