Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Бази";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

Вниз

Неявно стартуемие транзакції Знайти схожі гілки


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

Ніяк не можу розібратися з Субж.
Маю Query, властивості якого CachedUpdates і RequestLive встановлені в True і на події AfterDelete і AfterPost навешена процедура UpdateTable, наведена нижче.

procedure TDataMod.UpdateTable (DataSet: TDataSet);
починати
with DataSet as TDBDataSet do
починати
Database.StartTransaction;
намагатися
ApplyUpdates;
Database.Commit;
крім
Database.Rollback;
CancelUpdates;
raise;
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?
Наприклад,
if not TIBTransaction.InTransaction then Database.StartTransaction;
Якщо неявна транзакція пішла, то StartTransaction виконуватися не буде.



сторінки: 1 вся гілка

Форум: "Бази";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.55 MB
Час: 0.026 c
1-22236
T2
2001-12-16 07:10
2002.01.08
serial.vxd


14-22332
Noname (Andrews)
2001-11-05 16:20
2002.01.08
Moderator HELP !!!


1-22029
neo_
2001-12-18 12:33
2002.01.08
вбити TThread


1-22215
VovaKomarov
2001-12-16 13:36
2002.01.08
оновлення клієнта


1-22188
мистецтво
2001-12-14 13:09
2002.01.08
Як вважати великий файл ???





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська