منزل
Top.Mail.Ru Yandeks.Metrika
المنتدى: "القواعد";
الأرشيف الحالي: 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);
بدأ
مع DataSet كما تفعل TDBDataSet
بدأ
Database.StartTransaction.
محاولة
ApplyUpdates;
Database.Commit.
إلا
Database.Rollback;
CancelUpdates.
رفع.
الغاية؛
CommitUpdates;
الغاية؛
الغاية؛

Все это прекрасно работает, но после перевода 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 ميغابايت
الوقت: 0.037 ج
3-21921
MVova
2001-12-04 10:41
2002.01.08
التواصل بين الكثيرين ؛)


14-22385
وسيط
2001-11-03 11:57
2002.01.08
> إلى Merlin - (SYSTRAY)


6-22299
سفينة ضخمة
2001-10-11 21:58
2002.01.08
خطأ TClientSocket معالجة


1-22205
دينيس proshkin
2001-12-15 12:46
2002.01.08
QReport - الكثير من البيانات


6-22274
Polevi
2001-10-08 10:42
2002.01.08
ولماذا نحتاج مآخذ ؟؟





الأفريكانية الألبانية عربي الأرميني أذربيجان الباسكي البيلاروسية Bulgarian التشيكية الصينية المبسطة) تقاليد صينية) الكرواتية التشيكية دانماركي Dutch أنجليزي الإستونية الفلبينية Finnish جيب
الجاليكية الجورجية الألمانيّة اليونانيّة الكريولية الهايتية اللغة العبرية الهندية الهنغارية أيسلندي Indonesian الأيرلندية Italian اليابانيّة الكوريّة اللاتفية اللتوانية المقدونية الملايو المالطية Norwegian
اللغة الفارسية بولنديّة البرتغاليّة رومانية Russian صربي السلوفاكيّة سلوفيني إسباني السواحيلي Swedish Thai التركية الأوكراني الأردية الفيتنامية ويلزي اليديشية البنغالي البوسنية
السيبيونو الاسبرانتو الغوجاراتية الهوسا همونغ الإيبو جاوي الكانادا الخمير لاو لاتينية الماوري المهاراتية المنغولية النيبالية البنجابية الصومالية التاميل التيلجو اليوروبا
زولو
Английский Французский ألماني Итальянский البرتغالية Русский Испанский