PDA

View Full Version : RECORD LOCK



ealvandi
یک شنبه 04 شهریور 1386, 16:04 عصر
با سلام خدمت دوستان برنامه نویس

چند مدتی هست که من و تنی چند از دوستان به دنبال جلوگیری از ویرایش یک رکورد همزان توسط 2 کاربر به دنبال راه حل مناسب ویا غیر مناسب برای قفل کردن رکورد توسط ADOهستیم. باید بگم که تمامی سایت رو چند بار جستجو کردیم دوستان یک سری راهنمایی هایی کردن ولی با وجود تلاشمان به جواب درستی نرسیدیم . این قطعه کد برای من و دوستانم ارزش زیادی داره از دوستان و بزرگواران اگه کسی راهنمایی و یا قطعه کد آماده ای داره لطفا کمکمون کنه . باشد که بتونم روزی جبران کنم.

با تشکر از همه دوستان.

Batman
یک شنبه 04 شهریور 1386, 19:18 عصر
با سلام
دوست عزیز ممکنه بیشتر توضیح بدید و در ضمن فکر نمیکنم دیتابیسها امکان اجازه ویرایش یک رکورد رو حداقل در یک لحظه به دو کاربر که همزمان درخواست داده باشند بده مطمئنا یکی از درخواستها اولویت دار خواهدبود
موفق باشید

babak869
یک شنبه 04 شهریور 1386, 20:12 عصر
قبلا بحث شده .لطفا جستجو نمایید تا به پاسخ کامل و صحیح برسید
موفق باشید

حمیدرضاصادقیان
یک شنبه 04 شهریور 1386, 23:22 عصر
من از روشی که فعلا استفاده کردم و به مشکلی هم برنخوردم اینه که یک جدول طراحی کردم که کاربر هر فیلدی رو در هر جدولی انتخاب کنه نام کاربر ، شماره رکورد و جدول مربوطه رو در این جدول درج میکنم. بعد در قسمت مدیریتی برنامه یک پنجره قرار دادم و فیلدهای قفل شده رو نمایش میدم و نشون میدم که توسط چه کاربری قفل شده. وقتی از برنامه هم خارج میشم رکوردهای قفل شده توسط اون کاربر خاص رو آزاد میکنم.در اون پنجره ای هم که به کاربر نمایش میدم باز امکان ازاد شدن رکوردها رو گذاشتم که اگر مشکلی پیش اومد بشه از اونجا رکوردها رو ازاد کنه.مشکل سرعت هم نداره و خیلی سریع کار میکنه. تاحالا هم به مشکلی برخورد نکرده. با بررسی هایی هم که انجام دادم ظاهرا سیستم همکاران از این روش استفاده میکنه.

Batman
دوشنبه 05 شهریور 1386, 06:16 صبح
خوب پس مشکل کجاست دیگه؟

ealvandi
دوشنبه 05 شهریور 1386, 11:48 صبح
دیتابیسها امکان اجازه ویرایش یک رکورد رو حداقل در یک لحظه به دو کاربر که همزمان درخواست داده باشند


اجازه متد edit روبه user دوم میده ولی اجازه ذخیره رو نمیده . من میخوام اجازه اجرای متد edit رو به کاربر دوم که میخواد همزمان رکورد رو ویرایش کنه ندم.

تو تاپیک های گذشته بچه ها پیشنهاد استفاده از خاصیت locktype در adotable رو دادن ولی من نتونستم جواب بگیرم . آیا کسی تونسته باهاش کار کنه ؟

vcldeveloper
دوشنبه 05 شهریور 1386, 11:55 صبح
اجازه متد edit روبه user دوم میده ولی اجازه ذخیره رو نمیده . من میخوام اجازه اجرای متد edit رو به کاربر دوم که میخواد همزمان رکورد رو ویرایش کنه ندم.
چه نیازی هست که حتما در زمان Edit جلوی کاربر را بگیره؟! شاید قبل از پایان یافتن Edit توسط کاربر دوم، کاربر اول کارش را با رکورد مربوطه تمام کرده باشد.
در هر حال، LockType به شما کمک میکنه که در صورتی که رکورد در حال ویرایش توسط کاربر است، کاربر دوم نتواند تغییرات خود را در آن ثبت کند، LockType در لحظه شروع به ویرایش کردن کاربر دوم، موجب عکس العمل نمی شود، چون باید داده ها به بانک ارسال بشه، که بانک بفهمه ویرایشی صورت گرفته، تا قبل از آن که بانک اطلاعی از ویرایش رکورد توسط کاربر دوم ندارد تا مانع از آن شود.

ealvandi
دوشنبه 05 شهریور 1386, 12:11 عصر
چه نیازی هست که حتما در زمان Edit جلوی کاربر را بگیره؟!


چون کاربر دوم بدونه که این رکورد در حال ویرایشه و ممکنه اطلاعاتش تغییر کنه در اینصورت نه وقتش رو تلف میکنه و احتمال تلاقی اطلاعات از بین میره.



شاید قبل از پایان یافتن Edit توسط کاربر دوم، کاربر اول کارش را با رکورد مربوطه تمام کرده باشد.


در این صورت کاربر دوم نباید اطلاعاتش ذخیره بشه و خود sql server هم اجازه ثبت نمیده

به همین دلایل میخوام اگه رکورد توسط کاربر اول داره ویرایش میشه اجازه ورود به حالت edit به کاربر دوم داده نشه .



کسی راه حلی برای این موضوع داره ؟ لطفا نظر بدید.

ealvandi
دوشنبه 05 شهریور 1386, 12:15 عصر
من از روشی که فعلا استفاده کردم و به مشکلی هم برنخوردم اینه که یک جدول طراحی کردم که کاربر هر فیلدی رو در هر جدولی انتخاب کنه نام کاربر ، شماره رکورد و جدول مربوطه رو در این جدول درج میکنم. بعد در قسمت مدیریتی برنامه یک پنجره قرار دادم و فیلدهای قفل شده رو نمایش میدم و نشون میدم که توسط چه کاربری قفل شده. وقتی از برنامه هم خارج میشم رکوردهای قفل شده توسط اون کاربر خاص رو آزاد میکنم.در اون پنجره ای هم که به کاربر نمایش میدم باز امکان ازاد شدن رکوردها رو گذاشتم که اگر مشکلی پیش اومد بشه از اونجا رکوردها رو ازاد کنه.مشکل سرعت هم نداره و خیلی سریع کار میکنه. تاحالا هم به مشکلی برخورد نکرده. با بررسی هایی هم که انجام دادم ظاهرا سیستم همکاران از این روش استفاده میکنه.


ممنون از راهنماییتون ، من فکر میکنم کار پر هزینه ای باشه .

فکر میکنم اگه جلوی ورود کاربر دوم به حالت edit رو بگیریم بهتر باشه.

نظر بقیه در این باره چیه ؟

ealvandi
دوشنبه 05 شهریور 1386, 12:16 عصر
من از روشی که فعلا استفاده کردم و به مشکلی هم برنخوردم اینه که یک جدول طراحی کردم که کاربر هر فیلدی رو در هر جدولی انتخاب کنه نام کاربر ، شماره رکورد و جدول مربوطه رو در این جدول درج میکنم. بعد در قسمت مدیریتی برنامه یک پنجره قرار دادم و فیلدهای قفل شده رو نمایش میدم و نشون میدم که توسط چه کاربری قفل شده. وقتی از برنامه هم خارج میشم رکوردهای قفل شده توسط اون کاربر خاص رو آزاد میکنم.در اون پنجره ای هم که به کاربر نمایش میدم باز امکان ازاد شدن رکوردها رو گذاشتم که اگر مشکلی پیش اومد بشه از اونجا رکوردها رو ازاد کنه.مشکل سرعت هم نداره و خیلی سریع کار میکنه. تاحالا هم به مشکلی برخورد نکرده. با بررسی هایی هم که انجام دادم ظاهرا سیستم همکاران از این روش استفاده میکنه.


ممنون از راهنماییتون ، من فکر میکنم کار پر هزینه ای باشه .

فکر میکنم اگه جلوی ورود کاربر دوم به حالت edit رو بگیریم بهتر باشه.

نظر بقیه در این باره چیه ؟

SYNDROME
دوشنبه 05 شهریور 1386, 14:49 عصر
با سلام


فکر میکنم اگه جلوی ورود کاربر دوم به حالت edit رو بگیریم بهتر باشه.

اشاره نکردید با چه روشی می خواهید بفهمید که رکورد در حال ویرایش است.
موفق باشید

ms_mohaghegh
دوشنبه 05 شهریور 1386, 17:17 عصر
روشی که آقای صادقیان (پست #4) معرفی کرده به نظر بهترین روش میاد. فقط یه موضوع می مونه اونم اینه که اگه یه برنامه به صورت ناقص خارج بشه (مثلاً End Process بشه) رکورد درج شده توی جدول پاک نشده باقی می مونه.
من پیشنهاد می کنم رکورد ایجاد شده توی این جدول، حالت session داشته باشه و بعد از گذشت مدت معینی expire بشه. یعنی مثلاً بعد از گذشت 10 دقیقه از ورود به حالت Edit یا Insert ، رکورد درج شده توی اون جدول به طور خودکار حذف بشه. برای این کار می شه یه فیلد از نوع DateTime به جدول اضافه کرد تا زمان آغاز Edit (زمان درج رکورد) در اون ذخیره بشه، بعد با یه Timer توی برنامه دنبال رکوردهایی توی جدولمون بگردیم که فاصله ی زمان جاری از زمان درجشون بزرگتر از 10 دقیقه باشه و پس از خارج کردن جدول های مربوطه از حال edit، اونا رو Delete کنیم؛ البته قبلش یه پیغام هشدار برای کاربر نمایش بدیم تا اگه خواست session رو تمدید کنه.

SYNDROME
دوشنبه 05 شهریور 1386, 20:41 عصر
با سلام
ولی به این هم دقت کن اگر من در دقیقه 1 به صورت ناقص خار ج شوم تا 9 دقیقه هیچ کس نمی تواند رکورد مورد نظر را ویرایش کند.
موفق باشید

ms_mohaghegh
دوشنبه 05 شهریور 1386, 21:36 عصر
اگه همچین کاری انجام نشه، خارج کردن رکورد از وضعیت edit وظیفه ی کیه؟ می تونی به من بگی اونوقت تا چند دقیقه هیچ کس نمی تونه رکورد مورد نظر رو ویرایش کنه؟ من جوابشو می گم: "تا وقتی که یه مدیر با فکر پیدا بشه و دستی این کارو انجام بده!" . خوش بینانه ش میشه 10 دقیقه بعد. تازه ممکنه وقتی دستی این کارو انجام میده یه بنده خدایی با یه user دیگه در حال edit همون رکورد باشه. و بدین ترتیب احتمال حال گیری بالا می رود:اشتباه:.

SYNDROME
دوشنبه 05 شهریور 1386, 22:23 عصر
با سلام

اگه همچین کاری انجام نشه، خارج کردن رکورد از وضعیت edit وظیفه ی کیه؟ می تونی به من بگی اونوقت تا چند دقیقه هیچ کس نمی تونه رکورد مورد نظر رو ویرایش کنه؟
من نمی گویم 10 دقیقه کم یا زیاد است می گویم روش چندان جالب نیست.
شما باید به صورت یکنواخت روی بانک Queryبزنید تا وضعیت مشخص شود.
موفق باشید.

mehdi_mohamadi
سه شنبه 06 شهریور 1386, 11:08 صبح
من از روشی که فعلا استفاده کردم و به مشکلی هم برنخوردم اینه که یک جدول طراحی کردم که کاربر هر فیلدی رو در هر جدولی انتخاب کنه نام کاربر ، شماره رکورد و جدول مربوطه رو در این جدول درج میکنم. بعد در قسمت مدیریتی برنامه یک پنجره قرار دادم و فیلدهای قفل شده رو نمایش میدم و نشون میدم که توسط چه کاربری قفل شده. وقتی از برنامه هم خارج میشم رکوردهای قفل شده توسط اون کاربر خاص رو آزاد میکنم.در اون پنجره ای هم که به کاربر نمایش میدم باز امکان ازاد شدن رکوردها رو گذاشتم که اگر مشکلی پیش اومد بشه از اونجا رکوردها رو ازاد کنه.مشکل سرعت هم نداره و خیلی سریع کار میکنه. تاحالا هم به مشکلی برخورد نکرده. با بررسی هایی هم که انجام دادم ظاهرا سیستم همکاران از این روش استفاده میکنه.
سلام دوست عزیز
حالا اگه چندین کاربر همزمان یک رکورد را انتخاب کردن اون وقت راه حل چیه !!!...
یا اگه وقفه ای در هنگام این عملیات رخ بده و دستوراتت به طور کامل اجرا نشه چی اتفاقی می افته؟؟؟!!!
با عرض معذرت ولی فکر می کنم این راه منطقی نباشه

حمیدرضاصادقیان
سه شنبه 06 شهریور 1386, 11:10 صبح
سلام.شما میتونید مثل من یک جدول قرار بدید تمام رکوردهای قفل شده رو در برنامه نشون بدید و با یک دکمه اون رکورد رو ازاد کنید.حتی من یک کار دیگه هم کردم.که اگر کاربر دوباره با user خودش وارد برنامه بشه و دوباره خارج بشه تمام رکوردهای قفل شده توسط اون کاربر آزاد خواهد شد.من تاحالا به مشکلی برنخوردم که بگن ما در شبکه مشکل داریم.به راحتی هم دارن کار میکنن.

حمیدرضاصادقیان
سه شنبه 06 شهریور 1386, 11:13 صبح
سلام دوست عزیز
حالا اگه چندین کاربر همزمان یک رکورد را انتخاب کردن اون وقت راه حل چیه !!!...
یا اگه وقفه ای در هنگام این عملیات رخ بده و دستوراتت به طور کامل اجرا نشه چی اتفاقی می افته؟؟؟!!!
با عرض معذرت ولی فکر می کنم این راه منطقی نباشه

ببخشید حتی اگر 10 کاربر باهم همزمان بخوان یک رکورد رو اصلاح کنند.خلاصه در یک دهم ثانیه اختلاف وجود داره.در همین یک دهم رکورد توسط یک کاربر فقط قفل خواهد شد. در مورد قفل شدن رکورد توضیح دادم .در ضمن من تا وقتی کاربر دکمه تائید رو نزند در دیتابیس تغییری نمیدم.

mehdi_mohamadi
سه شنبه 06 شهریور 1386, 11:14 صبح
ما نیاز به یک تابع داریم که وقتی می خواهیم عملیات ویرایش را انجام بدیم به ما بگه که رکورد مورد نظر در حال ویرایش است و وارد یه حلقه بشه و تا زمانی که عملیات ویرایش (که حداکثر چند ثانیه بیشتر طول نمی کشه) تمام نشده سیستم منتظر بمونه و بلافاصله بعد از اتمام حلقه, عملیات ویرایش را انجام بده
------------------------------------
موفق باشید

حمیدرضاصادقیان
سه شنبه 06 شهریور 1386, 11:17 صبح
ما نیاز به یک تابع داریم که وقتی می خواهیم عملیات ویرایش را انجام بدیم به ما بگه که رکورد مورد نظر در حال ویرایش است و وارد یه حلقه بشه و تا زمانی که عملیات ویرایش (که حداکثر چند ثانیه بیشتر طول نمی کشه) تمام نشده سیستم منتظر بمونه و بلافاصله بعد از اتمام حلقه, عملیات ویرایش را انجام بده
------------------------------------
موفق باشید

ببخشید ولی دائم باید یک حلقه باشه و یک سربار الکی روی سیستم میاد.به نظر روش جالبی نیست.

mehdi_mohamadi
سه شنبه 06 شهریور 1386, 11:37 صبح
ببخشید ولی دائم باید یک حلقه باشه و یک سربار الکی روی سیستم میاد.به نظر روش جالبی نیست.
منظورم این بود زمانی که رکورد در حال ویرایش است سیستم وارد حلقه می شه و داخل حلقه این شرط را چک می کنه و به محض اتمام عملیات از حلقه خارج می شه
ضمنا" خیلی بعید که این اتفاق در سیستم بیافته و تا این اتفاق نیافته سیستم اصلا" وارد حلقه نمی شه

ms_mohaghegh
سه شنبه 06 شهریور 1386, 13:19 عصر
فکر می کنم کافیه درست قبل از Edit ، توی جدولمون بگردیم و اگه اون رکورد در حال Edit بود به کاربر بگیم که چند لحظه بعد دوباره تلاش کنه.

SYNDROME
سه شنبه 06 شهریور 1386, 15:07 عصر
با سلام
این لینک را نگاه کنید.یکی از دوستانمان روش خوبی بیان کرده است.(Mzjahromi)
http://barnamenevis.org/forum/showthread.php?t=56762&highlight=LockType
موفق باشید

ealvandi
سه شنبه 06 شهریور 1386, 19:48 عصر
یک راه به ذهن خودم رسید البته یک ممکنه مشکلاتی هم داشته باشه در هر حال مطرح میکنم شما هم مشکلاتش رو بررسی کنید و نظر بدید

ساختار رکوردمون رو به 3 قسمت تقسیم میکنیم . 1 - داده ها 2 - فیلدی به نام lock که نشاندهنده قفل بودن رکورده 3- آدرس ip کاربری که در حال کار با رکورده

تو این روش کاربری که میخواد با رکورد کار کنه هنگام ورود lock رو مقدار دهی میکنه (قفل میکنه) بعد آدرس ip خودش رو توفیلد ip ثبت میکنه .

حالا هر کاربری که و بخواد رکورد رو ویرایش کنه با دیدن lock بودن رکورد پیغام مورد نظر رو میبینه و ...

حالا اگه احتمال ریست شدن کاربر اول باشه یا قطع شدن شبکه و یا هر دلیل دیگه برای اینکه رکورد با مشکلی برخورد نکنه برای بررسی صحت حضور کاربر اول بر اساس آدرس Ip کاربر اول که در رکورد ذخیره شده عمل پینگ رو انجام میده حالا اگه کاربر اول حاضر بود که باز باید فعلا بی خیال رکورد شه و در غیر اینصورت خودش وارد رکورد مشه و آدرس ip خودش رو ثبت میکنه و با رکورد کار میکنه و بقیه ماجرا ....


یه برنامه برای اسکن کامپوتر های موجود در شبکه نوشتم ببینید اگه خواستید بگید سورس رو براتون بذارم.

SYNDROME
سه شنبه 06 شهریور 1386, 20:47 عصر
حالا اگه احتمال ریست شدن کاربر اول باشه یا قطع شدن شبکه و یا هر دلیل دیگه برای اینکه رکورد با مشکلی برخورد نکنه برای بررسی صحت حضور کاربر اول بر اساس آدرس Ip کاربر اول که در رکورد ذخیره شده عمل پینگ رو انجام میده حالا اگه کاربر اول حاضر بود که باز باید فعلا بی خیال رکورد شه و در غیر اینصورت خودش وارد رکورد مشه و آدرس ip خودش رو ثبت میکنه و با رکورد کار میکنه و بقیه ماجرا ....

شما در این حالت کامپیوتر را Pingمی کنید.
شاید برنامه را به وسیله TaskManager یا هر روش غیر معمول دیگر بسته باشد.
آن وقط چه کار می کنید.(کامپیوتر Ping می شود ولی برنامه بسته شده است)؟
موفق باشید

mehdi_mohamadi
سه شنبه 06 شهریور 1386, 22:09 عصر
یک راه به ذهن خودم رسید البته یک ممکنه مشکلاتی هم داشته باشه در هر حال مطرح میکنم شما هم مشکلاتش رو بررسی کنید و نظر بدید

ساختار رکوردمون رو به 3 قسمت تقسیم میکنیم . 1 - داده ها 2 - فیلدی به نام lock که نشاندهنده قفل بودن رکورده 3- آدرس ip کاربری که در حال کار با رکورده

تو این روش کاربری که میخواد با رکورد کار کنه هنگام ورود lock رو مقدار دهی میکنه (قفل میکنه) بعد آدرس ip خودش رو توفیلد ip ثبت میکنه .

حالا هر کاربری که و بخواد رکورد رو ویرایش کنه با دیدن lock بودن رکورد پیغام مورد نظر رو میبینه و ...

حالا اگه احتمال ریست شدن کاربر اول باشه یا قطع شدن شبکه و یا هر دلیل دیگه برای اینکه رکورد با مشکلی برخورد نکنه برای بررسی صحت حضور کاربر اول بر اساس آدرس Ip کاربر اول که در رکورد ذخیره شده عمل پینگ رو انجام میده حالا اگه کاربر اول حاضر بود که باز باید فعلا بی خیال رکورد شه و در غیر اینصورت خودش وارد رکورد مشه و آدرس ip خودش رو ثبت میکنه و با رکورد کار میکنه و بقیه ماجرا ....


یه برنامه برای اسکن کامپوتر های موجود در شبکه نوشتم ببینید اگه خواستید بگید سورس رو براتون بذارم.
حتما" این کار را انجام بدید

ealvandi
سه شنبه 06 شهریور 1386, 22:28 عصر
شاید برنامه را به وسیله TaskManager یا هر روش غیر معمول دیگر بسته باشد.


بله این مشکل وجود داره ، باید کاری شبیه به پینک مختص برنامه نوشت ؛ آیا کسی راهی سراغ داره ؟ البته احتمالا با indy بشه این کار رو کرد ولی شاید راه درستی نباشه .
لطفا نظر بدید .

SYNDROME
چهارشنبه 07 شهریور 1386, 09:58 صبح
با سلام


حتما" این کار را انجام بدید

با احترام
کاربر گرامی به نظر شما اشکالی که در روش فوق وجود دارد قابل چشم پوشی است؟
اگر حتی یک کاربر از روش فوق برای بستن برنامه استفاده کند چطور مشکل فوق را باید حل کرد؟
موفق باشید

ealvandi
چهارشنبه 07 شهریور 1386, 20:07 عصر
کاربر گرامی به نظر شما اشکالی که در روش فوق وجود دارد قابل چشم پوشی است؟
اگر حتی یک کاربر از روش فوق برای بستن برنامه استفاده کند چطور مشکل فوق را باید حل کرد؟


پس لطفا شما یه راه پیش روی ما بزارید

SYNDROME
چهارشنبه 07 شهریور 1386, 20:27 عصر
با سلام

پس لطفا شما یه راه پیش روی ما بزارید
راه حلهای گفته شده در بالا همگی قابل استفاده هستند ولی هر کدام مشکلاتی را دارند.
شما می توانید از LockTypeاستفاده کنید .
یا از لینکی که در بالا قرار داده ام استفاده کنید.(البته روش فوق را من به صورت کامل تست نکرده ام)
موفق باشید

ealvandi
چهارشنبه 07 شهریور 1386, 22:41 عصر
شما می توانید از LockTypeاستفاده کنید .


والا به خدا این locktype جد و آباد ما رو در آورده ، تو هر تاپیکی هر کسی چیزی ازش گفته ولی نه تکمیل و نه تست شده جواب دادن .

شما را به خدا اگه کد آماده دارید و یا منبع جامعی در اختیار دارید بدید ( یا فی سبیل الله و یا پولی) و این بحث رو که هیچ موقع تکمیل نشده رو تمومش کنید. با تشکر از لطفتون .

به امید کمکتون.

vcldeveloper
پنج شنبه 08 شهریور 1386, 02:57 صبح
والا به خدا این locktype جد و آباد ما رو در آورده ، تو هر تاپیکی هر کسی چیزی ازش گفته ولی نه تکمیل و نه تست شده جواب دادن .
LockType مشکلی نداره، بلکه کاری که شما می خوای انجام بدی مشکلش با LockType حل نمیشه. LockType در سطح دیتابیس عمل میکنه و درست هم عمل میکنه، به اندازه کافی هم درباره اش توضیح داده شده، اما شما چیز دیگه ایی می خوای که باید براش از یک راه حل ابتکاری استفاده کنی، راه حل آماده ایی که با تنظیم دو تا پراپرتی دزست بشه، براش وجود نداره.

SYNDROME
پنج شنبه 08 شهریور 1386, 07:28 صبح
با سلام


والا به خدا این locktype جد و آباد ما رو در آورده ، تو هر تاپیکی هر کسی چیزی ازش گفته ولی نه تکمیل و نه تست شده جواب دادن .
شما را به خدا اگه کد آماده دارید و یا منبع جامعی در اختیار دارید بدید ( یا فی سبیل الله و یا پولی) و این بحث رو که هیچ موقع تکمیل نشده رو تمومش کنید. با تشکر از لطفتون .
به امید کمکتون.
در رابطه با LockTyprکه علی آقا گفت.
ولی شاید با دستور SQL یک یا چند رکورد را قفل می کند کارتان راه بیفتد.(در لینک مورد نظر آقا جهرمی توضیح داده اند.)ولی باز هم می گویم بنده تست نکردم تا ببینم چجوری است.خودتان یک نگاه بیندازید
موفق باشید

ealvandi
پنج شنبه 08 شهریور 1386, 12:25 عصر
LockType مشکلی نداره، بلکه کاری که شما می خوای انجام بدی مشکلش با LockType حل نمیشه. LockType در سطح دیتابیس عمل میکنه و درست هم عمل میکنه، به اندازه کافی هم درباره اش توضیح داده شده، اما شما چیز دیگه ایی می خوای که باید براش از یک راه حل ابتکاری استفاده کنی، راه حل آماده ایی که با تنظیم دو تا پراپرتی دزست بشه، براش وجود نداره.




در رابطه با LockTyprکه علی آقا گفت.
ولی شاید با دستور SQL یک یا چند رکورد را قفل می کند کارتان راه بیفتد.(در لینک مورد نظر آقا جهرمی توضیح داده اند.)ولی باز هم می گویم بنده تست نکردم تا ببینم چجوری است.خودتان یک نگاه بیندازید
موفق باشید


آیا شما تا به حال با این مشکل برخوردید ؟ اگه برخوردید چه جوری حلش کردید ؟

SYNDROME
پنج شنبه 08 شهریور 1386, 14:26 عصر
با سلام

آیا شما تا به حال با این مشکل برخوردید ؟ اگه برخوردید چه جوری حلش کردید ؟
خود من هم همین الان درگیر این موضوع هستم و به دنبال یک روش کارامد برای حل مشکل هستم که احتمال خطا کمتر باشد.
همین جوری که در بالا دیدیم می خواهم از یکی از روشهای فوق استفاده کنم(همچنان در حال تست در حالتهای مختلف هستم که کدام حالت برای من مناسبتر است)
موفق باشید

ealvandi
پنج شنبه 08 شهریور 1386, 15:14 عصر
خود من هم همین الان درگیر این موضوع هستم و به دنبال یک روش کارامد برای حل مشکل هستم که احتمال خطا کمتر باشد.
همین جوری که در بالا دیدیم می خواهم از یکی از روشهای فوق استفاده کنم(همچنان در حال تست در حالتهای مختلف هستم که کدام حالت برای من مناسبتر است)


انشا الله موفق باشید. لطفا اگه به جواب رسیدید به ما هم راه حل رو بگید.

ealvandi
سه شنبه 13 شهریور 1386, 21:56 عصر
کسی از دوستان به جواب نرسید ؟ به کمکتون خیلی احتیاج دارم