Quando você da um open do CDS você está fazendo uma consulta no BD e guardando 
em memória.

 

Eu acredito que isso depende do driver que você está usando. Eu soube que no 
FireBird por exemplo você só consegue fazer uma consulta dentro de uma 
transação.
E que o driver já abre a transação para essa consulta automaticamente.

 

Mas na pratica você não precisa abrir uma transação para efetuar uma consulta.

 

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:39
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Como funciona a transação no DBExpress ou Zeos?

 

Esta parte eu entendi, e entendo... o que eu queria saber é, se ao dar o
Open no ClientDataSet ele inicia a transação, ou não. pois eu dou o
StartTransaction somente na hora de gravar, na hora do ApplyUpdate...

[]s

Em 05/03/08, Davi Eduardo Borges Wall <[EMAIL PROTECTED] 
<mailto:davi.wall%40mult.com.br> > escreveu:
>
> 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:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.com.br> [mailto:
> delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.com.br>] Em nome de
> Fellipe Henrique
> Enviada em: quarta-feira, 5 de março de 2008 08:16
> Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.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> 
> <post%40joaomorais.com.br><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>  <fellipeh%40gmail.com> 
> <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]
>
> 
>

-- 
_________________________________
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