Fórum DBExpress / ClientDataSet #334159
04/12/2006
0
Ja criei a transacao deste jeito:
transacao : transactiondesc;
begin
transacao.TransactionID := 1;
transacao.IsolationLevel := xilREADCOMMITTED;
SQLConnection1.StartTransaction(transacao);
SQLConnection1.Commit(transacao);
end;
porem nada mudou fui no banco oracle tentei comitar la e nem assim a informacao foi gravada.
Alguem sabe o q pode ser feito ?
Agradeço pela colaboração.
Tulio_am
Curtir tópico
+ 0Posts
04/12/2006
Macario
O que voce esta executando entre o inicio e o final da transacao?
Digamos que voce tenha um ApplyUpdates(0) ai no meio.
Voce precisa verificar se esta ocorrendo tudo corretamente para entao poder efetuar o commit da transacao.
Veja: [url=http://forum.clubedelphi.net/viewtopic.php?t=58547&start=0&postdays=0&postorder=asc&highlight=transa¬E7¬E3ourl] Transações com DbExpress de forma Bidirecional[/url]
espero que lhe ajude.
8)
Gostei + 0
05/12/2006
Tulio_am
Marcario tentei dar o ApplyUpdates(0) e ocorreu o seguinte erro:
ORA-01722: Numero Invalido.
Obs: estava usando DBNavigator ele nao da o ApplyUpdates automaticamente?
Obrigado pela colaboração!
Gostei + 0
05/12/2006
Titanius
Nenhum componente dá o ApplyUpdates no CDS automaticamente, você tem que fazer isso na mão.. :D
[]s
Gostei + 0
05/12/2006
Macario
Se voce quiser continuar a usar o dbnavigator, você poderá tratar o evento do Button referente ao Post, para quando ele for clicado disparar em sequencia um ApplyUpdates.
Use o evento OnClick do dbNavigator tipo:
begin
case Button of
nbInsert: //Faz tal coisa
nbEdit: //Faz tal coisa
nbDelete: ClientDataSet.ApplyUpdate(0);
nbPost: ClientDataSet.ApplyUpdate(0);
nbCancel: ClientDataSet.CancelUpdates;
end;
{: }
end;Espero que lhe ajude. 8)
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)