با عرض سلام و احترام به دوستان خوب برنامه نویس
من برای استفاده از شیوه صحیح تراکنش احتیاج به راهنمایی دارم
برنامه مورد نظر بر روی شبکه باید اجرا شود بانکهای اطلاعاتی Sql هستند و من از کدهای زیر استفاده کرده ام
ADOConnection1.BeginTrans;
try
ADOQuery1.Append; یا ADOQuery1.Edit
....
ADOQuery1.Post;
Except
ADOConnection1.RollbackTrans;
Exit;
end;
ADOConnection1.CommitTrans;
اصلا آیا استفاده از ADOQuery برای این تراکنش درست است یا باید برای این مورد از ADOTable استفاده کنم و یا اگر هردو اشتباه است روش صحیح کدام است.
سئوال دیگر اینکه در بعضی از قسمتها بعد از بروز اشکال و اجرای ADOConnection1.RollbackTrans باز هم اطلاعات جدید یا ویرایش شده در بانک اطلاعاتی ذخیره میشود. علت چیست ؟ چرا Transaction به درستی عمل نمی کند. آیا این امکان وجود دارد که به علت استفاده از Try /Except دیگری قبل از این قسمت برنامه با این اشکال روبرو شود یا مشکل از کدنویسی همین قسمت است.
اصلا چه زمانی اطلاعات به سرور ارسال میشوند وقتی Post انجام شد یا وقتی که ADOConnection1.CommitTrans اجرا شود.
لطفا نگویید که جستجو کنید چون جستجو کردم ولی به جواب مورد نظرم نرسیدم و با جوابهای متناقض روبرو شدم
مثلا در تاریخ
Thursday 06 January 2005, 08:55 AM آقا یا خانم YASNA
برای استفاده از transaction در ADOCONNECTION این طور عنوان کرده بودندکه
<<اگر برنامه شما قرار است در شبکه کار کند بهتر است از این دستور استفاده نکنید>>
ولی در تاریخ Friday 04 November 2005, 12:27 AM آقای کشاورز در مورد Transaction A و Transaction B توضیحاتی داده اند که البته باز هم من به جوابم نرسیدم
لصفا مرا راهنمایی کنید فکر کنم در این زمینه من اصلا توی باغ نیستم.