Tenho um sistema D7 + FB 1.5.2 + DBX. Numa tela de cadastro (codigo e descrição) faço várias inclusões/alterações e quando rodo o "gstat - h -t "tabela" -z banco.fdb" tenho o seguite resultado: oldest active=4000 , next transaction=4010 , ou seja, tenho 10 transações abertas. Se saio do sistema e entro, quando abro um ClienteDataset, o resultado é oldest active=4011 , next transaction= 4012. Como podem observar, abro uma transação para cada applyupdate. Alguém já observou isso? Será que falta algum detalhe para o sqlconnection fechar a transação? Segue uma pequena parte da lógica: tela de cadastro procedure TCadSind.FormShow(Sender: TObject); begin with DM.qryManut do begin sql.clear; sql.add('SELECT CODSIND, NOMESIND FROM SINDICATO'); sql.add(' WHERE CODSIND = :pcodsind'); end;
cdsGrid.open; <-- atualiza o oldest transaction end; procedure TCadSind.btIncAltClick(Sender: TObject); begin with DM.cdsManut do begin if btIncAlt.caption = 'Incluir' then insert else if btIncAlt.caption = 'Alterar' then edit; fieldbyname('CODSIND').asinteger := strtoint(trim (meCodigo.Text)); fieldbyname('NOMESIND').asstring := trim(edtNome.Text); post; end; end; DataModulo procedure TDM.cdsManutAfterPost(DataSet: TDataSet); begin with cdsManut do begin transacao.TransactionID := 1; transacao.IsolationLevel := xilREADCOMMITTED; if not Conexao.InTransaction then Conexao.StartTransaction(Transacao); ApplyUpdates(0); if ApplyUpdates(0) = 0 then begin try Conexao.Commit(Transacao); except Conexao.Rollback(Transacao); end; end; end; end; -- <<<<< 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] 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