Casa
Top.Mail.Ru Yandeks.Metrika
Fórum: "Bases";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

Para baixo

Transações Implicitamente Iniciadas Encontre agências semelhantes


Hermit   (2001-12-05 11:38) [0]

Никак немогу разобраться с субжем.
Имею Query, свойства которого CachedUpdates и RequestLive установлены в True и на события AfterDelete и AfterPost навешена процедура UpdateTable, приведенная ниже.

procedure TDataMod.UpdateTable(DataSet: TDataSet);
começar
with DataSet as TDBDataSet do
começar
Database.StartTransaction;
tentar
ApplyUpdates;
Database.Commit;
exceto
Database.Rollback;
CancelUpdates;
elevar;
end;
CommitUpdates;
end;
end;

Все это прекрасно работает, но после перевода Query в режим редактирования и последующем вызове ApplyUpdates появляется ошибка "A user transaction is already in progress".
Очевидно, что при вызове Query.Edit неявно стартует транзакция, но почему при вызове Query.Insert и последующем подтверждении изменений такой ошибке не возникает?



User_OKA   (2001-12-05 14:33) [1]

А если перед Database.StartTransaction проверять свойство InTransaction?
Por exemplo,
if not TIBTransaction.InTransaction then Database.StartTransaction;
Если неявная транзакция пошла, то StartTransaction выполняться не будет.



Страницы: 1 filial inteira

Fórum: "Bases";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

em cima









Memória: 0.81 MB
Hora: 0.029 c
1-22098
Alexander
2001-12-19 14:58
2002.01.08
Quem sabe como extrair o editor de endereços IP do Windows ou qual componente?


14-22342
Denso
2001-11-05 18:52
2002.01.08
Competição! Papel de parede para o jogo (local) Sea Fight!


1-22171
Escurecer
2001-12-20 14:19
2002.01.08
Возможно ли чудо?


14-22318
frostbite
2001-10-31 17:11
2002.01.08
Rebobinar


1-22064
daos
2001-12-19 08:46
2002.01.08
registro





afrikaans albanês Arabic armênio azerbaijano basco belarusian Bulgarian catalão Chinês simplificado) Chinês tradicional) croata checo dinamarquês Dutch Inglês estoniano filipino Finnish French
Galego georgiano German grego crioulo haitiano hebraico hindi húngaro islandês Indonesian irlandês Italian Japanese Korean letão lituano macedónio Malay maltês Norwegian
persa polonês Portuguese romeno Russa sérvio Slovak esloveno espanhol swahili sueco tailandês turco ucraniano urdu vietnamita galês ídiche bengali bósnio
cebuano esperanto gujarati hausa hmong igbo javanês kannada khmer lao latino maori marata mongol Nepali punjabi somali tâmil telugu yoruba
zulu
Английский francês Alemão Italiano Португальский russo Espanhol