Então, programaticamente, usando a memória do computador é possível sim, de diversas formas. O problema é que tenho que fazer isso usando conceitos de banco de dados. Tem que haver uma forma de visualizar os dados alterados sem usar o commit, ou ao menos um falso commit em memoria. Imagina duas soluções para o mesmo problema, uma resolvida pela visão do programador e outra pela visão do DBA. Tenho que usar a visão do DBA, pois o sistema usa esse conceito, as regras de negócio estão no banco.
On Mon, Apr 4, 2016 at 2:33 PM, Tiago de Assis Pimenta tiagopime...@ymail.com [oracle_br] <oracle_br@yahoogrupos.com.br> wrote: > > > Faz tempo que não mexo com Delphi, mas não tem nenhum componente que você > consiga "guardar" as informações que você quer em memória, deixa o usuário > alterar elas, assim ele estará vendo o que está sendo alterado, e depois > quando ele clicar em finalizar, você commita essas informações no banco ? > > > Em Segunda-feira, 4 de Abril de 2016 13:53, "André Luiz > aandre...@yahoo.com.br [oracle_br]" <oracle_br@yahoogrupos.com.br> > escreveu: > > > > Exatamente só depois do commit, você vai ver as alterações. > > Tenho um sistema que possibilita às alterações, mas para isso não deixo > presa às transações. > > Minha solução foi deixar a seguinte: > > -Gerar o pedido > -commit > -possibilitar a visualização dos dados > -tornar disponível às alterações > > Enviado do meu iPhone > > Em 4 de abr de 2016, às 13:31, Eduardo Perdomo panc...@gmail.com > [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: > > > Imagina um pedido, tem duas tabelas, cabeçalho e itens. > Abro uma transação, faço dois select for update com o numero do pedido nas > duas tabelas. > Com isso consigo que ninguém altere o pedido. > Faço um update na tabela itens. > Faço um select pra ver a alteração e nada. > Só consigo ver se eu comitar, mas daí libera o lock e as tabelas. > > 2016-04-04 13:26 GMT-03:00 André Luiz aandre...@yahoo.com.br [oracle_br] < > oracle_br@yahoogrupos.com.br>: > > > O select for update não lock a tabela só os registros selecionados, mas > prefiro utilizar o controle da transação do Delphi. > > Enviado do meu iPhone > > Em 4 de abr de 2016, às 13:18, André Luiz aandre...@yahoo.com.br > [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: > > > Quis dizer commita no final, assim o isolamento será para os registros > selecionados > > Enviado do meu iPhone > > Em 4 de abr de 2016, às 13:04, André Luiz aandre...@yahoo.com.br > [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: > > > Bom dia, > > O select for update lock a tabela, quando você tenta acessar o resultado, > já abre outra sessão, por este motivo você não ve as alterações. > > Porque você não faz as alterações em while? E commota nominal? > > Enviado do meu iPhone > > Em 4 de abr de 2016, às 12:54, Eduardo Perdomo panc...@gmail.com > [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: > > > Bom dia. > Estou desenvolvendo um processo onde preciso isolar a transação dos outros > processos. > > Consegui fazer com que os outros processos não interfiram, usando "SELECT > FOR UPDATE" mas as alterações que são feitas pelo meu processo não estão > disponíveis até que sejam commitadas. > > Em outras palavras, as alterações que eu mesmo faço não estão visíveis nem > mesmo pra mim. Só efetuando commit, mas daí fica visível para todos. > > Estou usando Delphi e Transacao.IsolationLevel := xilREPEATABLEREAD; > > Alguém tem alguma idéia ? > > Obrigado. > > > -- > > Eduardo Perdomo > Consultor de Implantação > Grupo PC Sistemas - www.grupopc.com.br > (21) 6845-8592 > panc...@gmail.com > eduardo.perd...@pcinformatica.com.br > Blog: eduardo.perdomo.nom.br > > > > > -- > > Eduardo Perdomo > Consultor de Implantação > Grupo PC Sistemas - www.grupopc.com.br > (21) 6845-8592 > panc...@gmail.com > eduardo.perd...@pcinformatica.com.br > Blog: eduardo.perdomo.nom.br > > > > > -- Eduardo Perdomo Consultor de Implantação Grupo PC Sistemas - www.grupopc.com.br (21) 6845-8592 panc...@gmail.com eduardo.perd...@pcinformatica.com.br Blog: eduardo.perdomo.nom.br