ورود

View Full Version : لاک کردن جداول



mehdi_mohamadi
پنج شنبه 06 مهر 1385, 06:44 صبح
چه طوری می شه جداول بانکهای اطلاعاتی را که چندین کاربر به طور همزمان با آنها کار می کنند را در زمان ویرایش و یا ذخیره اطلاعات قفل کرد؟

mzjahromi
پنج شنبه 06 مهر 1385, 07:09 صبح
بانک اطلاعاتی چیه؟
توی SQL server یه چیزی شبیه به این


Select ChildNo From TChild With (TabLockX) Where ChildNo=2


1-البته این کد کل Table رو Lock میکنه برای پیدا کردن قفل مناسب بهتره نمونه های مختلف Lock رو تو SQL Server پیدا کنی.
2 - این کد به تنهائی کافی نیست باید قبلش یه تراکنش ایجاد کنی و بعد از اینکه کارات تموم شد اونو قطعی کنی تا رکوردها یا جداولت باز بشن

mehdi_mohamadi
شنبه 08 مهر 1385, 06:44 صبح
ببخشید ولی من میخوام از طریق دلفی این کار را انجام بدم و دیتابیس همان اس کیو ال سرور می باشد. اگه ممکنه یه کم واضحتر و کاملتر توضیح بدید؟

Touska
شنبه 08 مهر 1385, 10:10 صبح
خوب شما با Adoquery می تونید این کار رو انجام دهید و بعد از Query استاد عزیز ذوالقدر استفاده نمایید :


Adoquery.Sql.add('Select ChildNo From TChild With (TabLockX) Where ChildNo=2
');
بعد هم می تونید آن را Active کنید

موفق باشید :)

mehdi_mohamadi
شنبه 08 مهر 1385, 11:08 صبح
تست کردم ولی جواب نداد. چه طوری می تونم از دستور locktable و unlocktable استفاده کنم؟
فکر کنم این روش بهتر باشه

Touska
شنبه 08 مهر 1385, 11:21 صبح
از راهنمایی های زیر استفاده نمایید :

http://msdn2.microsoft.com/en-us/library/ms187373.aspx

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/acdata/ac_8_con_7a_1hf7.asp

موفق باشید :)

mehdi_mohamadi
دوشنبه 10 مهر 1385, 13:17 عصر
اگه من لاک کردن را در سورس برنامه به صورت دستی انجام بدم یعنی از یک فیلد بولین استفاده کنم که موقع ویرایش به حالت true تغییر پیدا کنه و موقع اتمام ویرایش به حالت false تغییر کنه و هنگام ویرایش این فیلد چک بشه. چه اتفاقی رخ میده؟
به نظر خودم مشکل خاصی پیش نمی یاد.

mzjahromi
دوشنبه 10 مهر 1385, 15:16 عصر
اگه من لاک کردن را در سورس برنامه به صورت دستی انجام بدم یعنی از یک فیلد بولین استفاده کنم که موقع ویرایش به حالت true تغییر پیدا کنه و موقع اتمام ویرایش به حالت false تغییر کنه و هنگام ویرایش این فیلد چک بشه. چه اتفاقی رخ میده؟
به نظر خودم مشکل خاصی پیش نمی یاد.
فکر اینو نکن
سعی کن از راه حلهای موجود استفاده کنی
اونطوری درگیر مسائلی مثل همروندی (از گرسنگی مردن , تداخل , در مواردی عدم همخوانی و ... ) میشی
اون راهی که نوشتم رو پیگیری کن مشکلت توی اون زمینه بپرس خیلی راحت تر جواب میگیری

mehdi_mohamadi
سه شنبه 11 مهر 1385, 07:28 صبح
اگه امکانش هست یه سورس کامل برای این کار بهم بدید
متشکرم