Estou acompanhando esta thread e me parece que algo não está claro.

 

A transação deve existir no menor espaço de tempo, ou seja, você não vai 
colocar um starttransaction no OnShow do formulário de cadastro abobrinha.
Você vai sim iniciar uma transação quando o processo que vai incluir as 
informações na tabela for disparado.
Enquanto o usuário estiver no form abobrinha digitando suas informações nenhuma 
transação deve existir.

Imagine que a transação esteja no onshow do form e o usuário vai no banheiro e 
depois tomar cafezinho. Neste tempo todo pelo menos 1 tabela está bloqueada.

 

Esse tipo de tratamento tem que ser conhecido por todos os programadores de 
banco de dados. Pois é regra básica da boa programação para Banco de Dados!

 

[]'s

 

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Fellipe 
Henrique
Enviada em: quarta-feira, 5 de março de 2008 08:16
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Como funciona a transação no DBExpress ou Zeos?

 

Mas aí que está... minha aplicação é em MDI, o que acontece demais é o
seguinte: o usuário clica pra incluir uma venda... e enquanto ele está
incluindo a venda, ele vai em outros lugares, como por exemplo: ordem de
serviço, cadastros e etc... o certo então seria antes do Venda.ApplyUpdates,
eu dar um StartTransaction, e fazer tudo.. depois um Commit, assim enquanto
ele estiver incluindo a venda, nao abriu nenhuma transação, e o que ele
fizer nas outras telas, não será influenciado por esta transacao da venda..
o que me preocupou de inicio foi isso, ele só comitar os cadastros e O.S.
depois que comitar a Venda neste exemplo.

[]s

Em 05/03/08, Joao Morais <[EMAIL PROTECTED] <mailto:post%40joaomorais.com.br> > 
escreveu:
>
> Fellipe Henrique wrote:
> > Bom Eduardo, os dois componentes usam CDS, então acredito que ao abrir
> um
> > cadastro (dar um open no CDS) ele não starta a transação, e ao dar o
> > ApplyUpdate, aí sim que ele inicia e comita a transação, não é? bom, se
> for
> > aí sim, porque a transacão é questão de milisegundos, o que não
> acarretará
> > problemas...
> >
> > Pra entender melhor.. se eu der um StartTransaction, e tudo que eu fizer
> em
> > qualquer dataset no sistema, está vinculado nesta transação. Correto?
>
> Cada connection do Zeos possui um transaction. Então a sentença correta
> seria: tudo o que for feito em um connection estará implicitamente na
> mesma transação.
>
> --
> Joao Morais
> 
>

-- 
_________________________________
T.·.F.·.A.·.
Fellipe Henrique
[EMAIL PROTECTED] <mailto:fellipeh%40gmail.com> 

[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a