Fórum O Melhor Uso com IBTransaction #46302
26/08/2004
0
Eu vi um código fonte de um sistema comercial que rodar em rede, ele estava usando fb1.5 c/ conexões ibx, e lá no datamodule tinha uma coisa que me despertou dúvidas, que era um ibdatabase ligado com um ibtransaction que é normal, mas além disso tinha várias ibquery ligados com o ibupdatesql e um ibtransaction para cada ibquery/ibupdatesql, e no meu sistema comercial que estou fazendo eu uso ibtable p/ tabelas de cadastros mais simples, ibquery para consultas e ibclientdataset para modulos que usam relac. master/detail e somente um ibtransaction ligado ao ibdatabase. o que eu quero saber é, eu faço como o código fonte que eu vi ou faço como estou fazendo no meu coódigo fonte?
muito obrigado.
Tap_pedroso
Curtir tópico
+ 0Posts
26/08/2004
Afarias
|como estou fazendo no meu coódigo fonte?
Não existe certo e errado aqui. Vc pode ter 1, 2 ou 100 transações -- depende da aplicação e de sua preferência.
T+
Gostei + 0
26/08/2004
Tap_pedroso
Gostei + 0
26/08/2004
Afarias
Sim, pode -- mas é importante q vc entenda a função das transações -- pq ter 1 ou mais de 1 é um questão ´operacional´ e não apenas uma escolha.
T+
Gostei + 0
02/09/2004
Renato_sp
Renato / SP
Gostei + 0
02/09/2004
Afarias
|determinadas aplicacao seria melhor usar poucas transation e outras ja
|seria usar uma para cada IBDataset,
por ai sim...
|Gostaria de saber em que sistemas ou caracteristicas de sistema vc
|aconselharia varias transation em vez de uma para todo o sistema. !!!!
Particularmente só uso 1 transação apenas para várias tabelas/processos em sistemas que usam ClientDataSets (ou algo semelhante) -- já q nestes casos as transações são *muito* curtas
|Eu costumo usar um IBDatabase para me conectar e a cada modulo
|usar um IBDataset + IBTransation nao sei se seria o certo,
SIM, não há problema nisso
|por isso gostaria de saber quando usar varias e quando usar apenas
|uma.. !!! existe alguma regra ?
Regras?? Bom ... eu citaria o seguinte::
A)
1 transação para cada ´processo´ (ex:: cadastro de produtos, vendas, etc..) -- lembre q nos mestre/detalhe e outras relações vc terá mais q 1 tabela (DataSet) mas [color=red:4d04432095]em geral[/color:4d04432095] apenas 1 transação
B)
1 transação para todos os processos rápidos (não concorrentes) q não estão associados a DataSets (updates, selects de generators, etc...)
C)
Quando usar ClientDataSets vc pode usar 1 transação para todos os ´processos´ -- menos os mestre detalhe q não usam nested-datasets e os demais citados no ítem B (pq o MIDAS controla as transações automaticamente e vc não deve misturar essas transações com transações q vc controlará manualmente)
note q o importante é saber a função de uma transação -- essas ´regras´ acima são ´usos gerais´ -- mas não definem como vc deve aplicar transações em suas aplicações.
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)