Olá, bom dia. Pelos livros que tenho e pelos artigos que tenho lido e alguns
pequenos testes para validar umas informações de artigos e livros pude
constatar o seguinte. Quando a gente combina SQLConnection, SQLDataset,
DatasetProvider e ClientDataset a coisa ocorre mais ou menos assim: Quando
você coloca um “select * from tabela” no commandtext do clientdataset e
manda abrir para que ele retorne os dados, ele passa o commandtext para o
datasetprovider que faz o parser do SQL digitado e envia para o sqldataset
que abre a conexão com o banco, pesquisa as informações, retorna os dados
para o clientdaset e fecha a conexão. Quando você manda salvar
(ApplyUpdates) o mesmo acontece...abre a conexão(transação) realiza a
operação na base e fecha a conexão (transação). Você pode testar isso,
colocando este conjunto destes componentes e ativar o clientdataset,
verificar que os dados estão cacheados mostrando-os em um grid e desative a
conexão no sqlconnection e verás que os dados continuam em memória ainda que
a conexão com o banco esteja cortada. Voce poderia alterar esses dados e
aplicar as mudanças....e eles iriam parar no banco.

 

Aí surge o assunto de concorrência...mas é outro assunto já.

 

Bem, isso é o pouco de conceito que eu sei, se alguém tem um conceito
diferente ou mais bem “firmado”, por favor, postem.

 

[]’s

Topolniak.

 

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

 

Olá amigos, estou acostumado nos componentes derivados do IBX, onde cada
DataSet, voce vincula à um transação, não importando em qual Form o DataSet
esteja, porém no DBExpress como no ZeosDB, a transação é iniciada a partir
da conexão, passando-se um ID. vamos a um exemplinho:

FrmVenda -> Inicia Transacao 1
Chama FrmCaixa -> Grava informações usando a Transação 1
Chama FrmContaReceber -> Grava informações usando a Transação 1
FrmVenda -> Commit na Transação 1 (Gravando os dados do Caixa e Conta a
Receber).

Minha questão é, como vincular os datasets do Caixa e Conta à Receber, na
transação iniciada no Venda? No IBX, eu só passava a propriedade
Transaction, como fica no DBX e Zeos?

Obrigado desde já.

[]s

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