orc 0 Denunciar post Postado Setembro 5, 2008 galera tenho este codigo aqui só que o primeiro try com a transação ele grava na tabela e ok e na segunda ele passa mais não grava nada na tabela o que pode ser ?? If TmpProtocoloItem.IsEmpty then begin MessageBox( handle, 'Não existem conhecimentos para geração do protocolo !', 'Atenção', MB_ICONWARNING or MB_OK); end else begin { Gera o protocolo } // try dmParame.trGTrans.Active := False; if not dmParame.trGTrans.InTransaction then dmParame.trGTrans.StartTransaction; // IBStoredProc1.ParamByName( 'VDATA' ).AsDateTime := Date; IBStoredProc1.ParamByName( 'VHORA' ).AsTime := Time; { Executa a Stored Procedure do Banco de Dados } IBStoredProc1.ExecProc; // TESTE := IBStoredProc1.ParamByName( 'CODIGO' ).AsInteger; // dmParame.trGTrans.CommitRetaining; except dmParame.trGTrans.Rollback; end; // // try dmParame.trGTrans.Active := False; if not dmParame.trGTrans.InTransaction then dmParame.trGTrans.StartTransaction; TmpProtocoloItem.First; while not TmpProtocoloItem.Eof do begin TabFinal.Close; TabFinal.Open; TabFinal.SQL.Clear; TabFinal.SQL.Add('INSERT INTO TRPROTOITE ( CODPROTO, CODEMPRES, SIGSERIES, NUMCONHEC, EMICONHEC, PRECONHEC, PAGCLICNH ) '); TabFinal.SQL.Add('VALUES ( :CODPROTO, :CODEMPRES, :SIGSERIES, :NUMCONHEC, :EMICONHEC, :PRECONHEC, :PAGCLICNH )'); TabFinal.ParamByName('CODPROTO' ).AsInteger := TESTE; TabFinal.ParamByName('CODEMPRES').AsString := TmpProtocoloItemcodempres.AsString; TabFinal.ParamByName('SIGSERIES').AsString := TmpProtocoloItemsigseries.AsString; TabFinal.ParamByName('NUMCONHEC').AsInteger := TmpProtocoloItemnumconhec.AsInteger; TabFinal.ParamByName('EMICONHEC').AsDateTime := TmpProtocoloItememiconhec.AsDateTime; TabFinal.ParamByName('PRECONHEC').AsFloat := TmpProtocoloItempreconhec.AsFloat; TabFinal.ParamByName('PAGCLICNH').AsString := TmpProtocoloItempagclicnh.AsString; // tabfinal.Prepared := true; TabFinal.ExecSQL; TmpProtocoloItem.Next; end; dmParame.trGTrans.Active := True; dmParame.trGTrans.CommitRetaining; except dmParame.trGTrans.Rollback; end; // // IBStoredProc1.Prepared := false; MessageBox( handle, Pchar('Foi gerado o protocolo Nº : ' + IntToStr( TESTE )) , 'Informação', MB_ICONINFORMATION or MB_OK); QRLabel23.Caption := Label22.Caption; QRLabel25.Caption := Label23.Caption; // contador := 0; QuickRep1.Preview; Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Setembro 8, 2008 Já tentou rodar passo-a-passo para verificar em qual linha pode ter problema ou caindo em except ? No caso poderia tirar o try... except e verificar se não é gerado nenhum erro... Compartilhar este post Link para o post Compartilhar em outros sites
orc 0 Denunciar post Postado Setembro 9, 2008 Já tentou rodar passo-a-passo para verificar em qual linha pode ter problema ou caindo em except ? No caso poderia tirar o try... except e verificar se não é gerado nenhum erro... vlw marcio acabei achando o erro Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Setembro 9, 2008 beleza... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites