[firebase-br] duvida for update With lock
Sandro
sandro_rebelo em ibest.com.br
Seg Nov 24 16:18:04 -03 2008
Se voce quer travar todos os registros retornados pela consulta pode usar
with lock, mas tem que uzar fetchall para travar todos os registros.
Para dar o conflito de imediato, vc tem que configurar na sua transação como
read_committed e nowait.
Eu utilizo assim, com Delphi 7 e IBX
try
dmficha.qficha.Close;
dmficha.qficha.params.clear;
dmficha.qficha.sql.clear;
dmficha.qficha.sql.add('select * from ficha where codi = :codi with
lock');
dmficha.qficha.Params[0].AsInteger := ncodi;
dmficha.qficha.Open;
except
Showmessage('Registro está sendo utilizado por outro usuário !');
end;
Eu não utilizo fetchall porque estou retornando apenas um registro, pois
essa consulta é pela minha chave primaria.
Espero ter ajudado.
----- Original Message -----
From: "Zottis" <zottissistemas em brturbo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, November 24, 2008 3:48 PM
Subject: [firebase-br] duvida for update With lock
Pessoal, estou com uma dúvida de como usar o for update With lock
tenho uma janela de busca de Pedidos, com alguns filtros(periodo, Pago,
entregue)
e tenho uma outra janela de cadastro de pedidos
se um usuario esta com a janela de busca de pedidos aberta e com vários
pedidos retornados inclusive o pedido 150, e em outra estação um usuario
quer abrir o pedido 150, ele libera para visualização e não deixa alterar ou
ele ja da o conflito?
desde ja agradeço.
Zottis(TeamFB Users)
Zottis Sistemas - 2008 Ano XI
Programação Delphi/PHP/Firebird/MySQL
"Um homem só tem o direito de olhar
a um outro de cima para baixo, quando
vai ajuda-lo a levantar-se".
Gabriel Garcia Marquez
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista