ealvandi
چهارشنبه 14 شهریور 1386, 10:27 صبح
با سلام خدمت دوستان و اساتید محترم
بنده روی یک برنامه تحت شبکه کار می کنم که مشکل Record Lock رودارم(جلوگیری از ویرایش همزمان یک رکورد توسط چند کاربر) راه حلی که برای حل این موضوع درپیش گرفتم این بودکه هنگام ویرایش رکورد توسط اولین کاربر شماره رکورد موردنظردریک Table دیگر ثبت کردم حالا اگر کاربر دیگری بخواهد همان رکورد را ویرایش کند ابتدا برنامه ، شماره رکورد رو در Table دوم جستجو می کند ، اگر نتیجه مثبت بود یعنی شماره رکوردی که می خواهیم ویرایش کنیم در Table دوم پیداشد که نشان از ویرایش رکورد توسط کاربر دیگری میدهد دراین صورت به کاربر دوم اجازه ویرایش رکورد رو نمیده ودر انتها وقتی کاربر اول اطلاعات رو ویرایش و ذخیره کرد هنگام خروج ، برنامه شماره رکورد را از Table دوم پاک می کند و بدین ترتیب رکورد دوباره آزاد میشه(Unlock) حالا مشکل اصلی من اینه که اگر برنامه هنگام ویرایش رکورد قبل از ذخیره ، به طور غیراصولی بسته شد( قطع شبکه ، قطع برق ، Reset یا End Task ) تکلیف شماره رکوردی که در Table دوم ثبت شده بود چی می شه ؟ که در اینصورت رکورد برای همیشه Lock می مونه.
البته راه حل هایی نظیر expire کردن رکورد و Unlock توسطAdminstrator رو تست کردم ولی هر کدوم مشکلاتی دارن .
حالا اگه دوستان راه حلی برای این مشکل دارن لطفاً ارائه کنند.
با تشکر فراوان
بنده روی یک برنامه تحت شبکه کار می کنم که مشکل Record Lock رودارم(جلوگیری از ویرایش همزمان یک رکورد توسط چند کاربر) راه حلی که برای حل این موضوع درپیش گرفتم این بودکه هنگام ویرایش رکورد توسط اولین کاربر شماره رکورد موردنظردریک Table دیگر ثبت کردم حالا اگر کاربر دیگری بخواهد همان رکورد را ویرایش کند ابتدا برنامه ، شماره رکورد رو در Table دوم جستجو می کند ، اگر نتیجه مثبت بود یعنی شماره رکوردی که می خواهیم ویرایش کنیم در Table دوم پیداشد که نشان از ویرایش رکورد توسط کاربر دیگری میدهد دراین صورت به کاربر دوم اجازه ویرایش رکورد رو نمیده ودر انتها وقتی کاربر اول اطلاعات رو ویرایش و ذخیره کرد هنگام خروج ، برنامه شماره رکورد را از Table دوم پاک می کند و بدین ترتیب رکورد دوباره آزاد میشه(Unlock) حالا مشکل اصلی من اینه که اگر برنامه هنگام ویرایش رکورد قبل از ذخیره ، به طور غیراصولی بسته شد( قطع شبکه ، قطع برق ، Reset یا End Task ) تکلیف شماره رکوردی که در Table دوم ثبت شده بود چی می شه ؟ که در اینصورت رکورد برای همیشه Lock می مونه.
البته راه حل هایی نظیر expire کردن رکورد و Unlock توسطAdminstrator رو تست کردم ولی هر کدوم مشکلاتی دارن .
حالا اگه دوستان راه حلی برای این مشکل دارن لطفاً ارائه کنند.
با تشکر فراوان