[firebase-br] Como Controlar as transacões Via Delphi?

Zottis zottissistemas em brturbo.com.br
Ter Jan 6 16:32:30 -03 2009


Olá amigo, acho que não me expliquei direito,
o meu sistema é assim:

tenho um Data set para fazer a listagem da tabela
e outro Dataset apenas para o cadastro.
então quando o usuario esta cadastrando, editando ou  deletando algum 
registro, fica bloqueado para os outros usuarios do sistema

eu faço assim:

o Dataset de Listagem esta ligado a um Componente Transaction que é usado 
por todos os dataset que não são de cadastro
e o Dataset de Cadastro usa um outro Componente Transaction apenas paar ele

se o Usuario quer editar algum registro eu abro uma nova transacao

//   DadosCad.TransClassResid = Componente tranasaction exclusivo deste data 
set
    if not DadosCad.TransClassResid.InTransaction then
     begin
       DadosCad.TransClassResid.Active := false;
       DadosCad.TransClassResid.StartTransaction;
     end;

       with dadosCad.ClassResidCad do
        begin
          close;
          parambyname('VarCOD_CLASSIFICACAO').AsInteger  := codigo;
          prepare;
          open;
        end;

o erro da mesmo sem o sistema estar em rede.



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
----- Original Message ----- 
From: "Kelver Merlotti" <kmerlotti em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, January 06, 2009 9:53 AM
Subject: Re: [firebase-br]Como Controlar as transacões Via Delphi?


há realmente a necessidade do with lock no primeiro caso? pois ele é
que está segurando o(s) registro(s), até que você dê um commit;

abraços!

2009/1/5 Zottis <zottissistemas em brturbo.com.br>:
> Buenas Galera,
> Vamos começar o ano com toda a força?
>
> Hoje é o Meu primeiro dia de Trabalho do Ano, e pra variar ja to com um 
> problema...
>
> eu Utilizo um Dataset com o seguinte SQL:
> Select Cod_Cliente, Razao_Social from
> clientes where Cod_Cliente = :VarCod_Cliente With Lock e este Dataset esta 
> ligado a um Componente Transaction somente para ele
>
> e em outro select eu tenho a SQL
> Select Cod_Cliente, Razao_Social from
> clientes order by Razao_Social com um Componente Transaction que é usado 
> para todos os selects de Listagem
>
> mas se eu faço no meu sistema um simples select ele ja da Conflito de 
> Transação?
>
> e o estranho é que em algumas tabelas ele ta redondinho
>
> ma na tabela de clientes da esse erro.
>
> alguem saberia me informar como faço para trabalhar com as transações com 
> vários Componentes Transactions Via Delphi?
>
> Uso FB 2.1 Delphi 7 e MDO
>
>
> desde ja agradeço.
>
>
>
>
> Zottis(TeamFB Users)
>
> Zottis Sistemas - 2009 Ano XII
> 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
>



-- 
Kelver Merlotti
Coordenador Editorial do Portal www.ActiveDelphi.com.br
Contato: kelver em activedelphi.com.br
Google: kmerlotti em gmail.com
Msn: kmerlotti em hotmail.com
Tem um segundo? Então, dá uma olhadinha nisso:
Um site de publicidades, de Portugal, está pagando em euros (quase 3x
mais que em reais) pra quem estiver disposto a:
 * Ler anúncios
 * Visitar sites
 * Clicar em banners
 * Navegar na NET
 * Ler e-mails
 * Convidar novos usuários
O pagamento é feito em cheque! Registra lá!! Não custa nada! ;-)
http://www.publipt.com/pages/index.php?refid=kmerlotti

______________________________________________
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