[firebase-br] Firebird 2.5

Paulo Portella pportellaa.firebase em gmail.com
Qua Ago 10 15:10:13 -03 2011


"costumo" deixar que o dBX se encarregue, mas você mesmo pode "opera-lo" 
veja um exemplo:

http://www.drbob42.com/examines/examin95.htm

Nesse endereço você vai ver algumas "formas" de controlar a Transação,  
procure no trecho que exemplifica "*dbExpress Transaction Isolation Level"*

procedure TFormMain.btnDBXClick(Sender: TObject);
var
..Trans: TTransactionDesc;
begin
....MSSQLCONNECTION.Open;
....if MSSQLCONNECTION.TransactionsSupported then
....begin
......Trans.IsolationLevel := xilREADCOMMITTED; // default
......MSSQLCONNECTION.StartTransaction(Trans)
....end;
....try
......MSSQLCONNECTION.Execute('UPDATE ACCOUNT SET BALANCE = BALANCE + 
100 ' +
..............................'WHERE ACCOUNTNR = 41', nil);
......MSSQLCONNECTION.Execute('UPDATE ACCOUNT SET BALANCE = BALANCE - 
100 ' +
..............................'WHERE ACCOUNTNR = 42', nil);
......if MSSQLCONNECTION.TransactionsSupported then
........MSSQLCONNECTION.Commit(Trans)
....except
......if MSSQLCONNECTION.TransactionsSupported then
........MSSQLCONNECTION.Rollback(Trans)
....end;
....cdsAccount.Active := False;
....cdsAccount.Active := True // Refresh
end;


Vida de americano é assim: iPhone, iPod, iPad, iMac….
Já a de brasileiro é assim:IPTU, IPVA, ICMS, IPI etc


Em 10/08/2011 13:42, Jáber Lima escreveu:
> Boa tarde Paulo.
> Gostaria de saber: Você faz uso de abrir a fechar as transações 
> manualmente mesmo usando o ClientDataSet ou você usa apenas o 
> ApplyUpdates(x) deixando o DBX se encarregar de startar e commitar as 
> transações?
>
> Grato por sua ajuda...
>
> -- 
> Jáber Sancho Coelho de Lima
> Cel: (66)9613-2594
> Fax: (66)3426-2171
> Msn: jabertecnico em hotmail.com
> Skype: jabertecnico
>
>
> Em 01/08/2011 23:22, Paulo Portella escreveu:
>> Boas meu amigo,
>> Você já chegou a "debugar" seu aplicativo para "achar" a linha exata 
>> do erro/trava ? Se sim, posta aqui pra noizes ver.
>>
>> O Applyupdate com o "quarteto fantástico" é melhor executar "se tiver 
>> mudanças", exemplo:
>>
>> if ClientDataSet.ChangeCount>0 then ClientDataSet.ApplyUpdates(xyz);
>>
>> usar o Apply sem o ChangeCount, sim, vai "levantar" uma mensagem 
>> desgostosa.
>>
>> Você pode tambem "startar transação" e fazer Commit/Rollback dela, 
>> mesmo com o "quarteto fanstástico", não vejo porque do espanto disso.
>>
>> O dbExpress é uma das melhores tecnologias que conheço (e uso), não 
>> desmerecendo IBX/ADO/etc... Tambem usei elas por muitos anos, mas 
>> prefiro DBX.
>>
>> Vem pro news TrollNet para discutirmos melhor esse assunto :
>>
>> servidor: Trollnet.no-ip.org
>> sala : vtnc.Linguagens.Delphi
>>
>> ;-)
>>
>> Vida de americano é assim: iPhone, iPod, iPad, iMac….
>> Já a de brasileiro é assim:IPTU, IPVA, ICMS, IPI etc
>>
>>
>> Em 01/08/2011 18:19, Fabricio Wallia escreveu:
>>> Att.
>>>
>>> Estava com alguns problemas com travamento do sistema no momento do
>>> "ApplyUpdates(0)", verifiquei que o motivo deste travamento seria a 
>>> demora
>>> da mensagem(erro) do banco de dados.
>>> Percebi que o comando "ApplyUpdates(0)" nao estava dando o commit nas
>>> procedures de atualizacao que utilizo em meu FDB.
>>>
>>> Quando executo o comando ApplyUpdates(0), ele automaticamente cria 
>>> um Start
>>> e Commit no banco de dados, minha pergunta é: Si eu comecar a 
>>> trabalhar com
>>> transacao utilizando o  trio parada dura (TSqlDataSet + 
>>> TDatasetProvider +
>>> TClientDataset), quando der o ApplyUpdates(0) o ele manter a
>>> transacao(automatica do banco) nao comitada, o commit da minha 
>>> aplicacao ira
>>> sobrepor o commit do comando?
>>>
>>> Creio que poucos saberao responder
>>> ______________________________________________
>>> 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
>>
>> ______________________________________________
>> 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
>>
>
> ______________________________________________
> 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