Lembro que é possível através do DBgrid fazer edição de dados. Não há? Sendo
assim pesquisa o método DBgrid.edit se me lembro.
Mas sem commit não há como você visualizar as alterações feitas.
Vê se através de um datasouce ligado ao DBgrid e com refrech você consegue.
São apenas ideias ok!!
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 sol
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 ?
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
Enviad
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
Se você executa o commit deveria aparecer as alterações.
Tem certeza que o usuário está acionando o finalizar? É um dbfrid o componente,
você executa novamente a query com o novo resultado?
Enviado do meu iPhone
> Em 4 de abr de 2016, às 13:24, Eduardo Perdomo panc...@gmail.com [oracle_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]
> escreveu:
>
> Quis dizer commita no final, assim o isolamento será
Então, eu commito no final, depois de todo o processo feito pelo usuário,
daí ele clica em finalizar.
O problema é que não consigo apresentar para o usuário os dados que foram
alterados por ele antes de finalizar o processo.
É como se os selects estivessem desatualizados, pois tentei dar dois
inser
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]
> escreveu:
>
> Bom dia,
>
> O select for update lock a tabela, quando você tenta acessar o resultado, já
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...@gmai
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 palavra
11 matches
Mail list logo