PDA

View Full Version : گرفتن شماره ركورد همزمان دوكاربر



mandana.k
یک شنبه 23 فروردین 1388, 10:17 صبح
دوستان من يك برنامه با VB.NET2003 نوشتم كه شماره سند را به صورت AUTO از DATABASE مي كيرد مشكل من اينجاست كه وقتي برنامه را برروي دوتا STATION نصب مي كنيم ودوكارير همزمان شماره سند 1 را مي بينند هركدام زودتر دكمه اضافه را بزند شماره سند 1 براي او ثبت مي شود وكاربر دوم شماره سند جديد را برروي TEXT خود نمي بيند لازم به ذكر است كه بايد بگويم كاربردوم نبايد اطلاعاتش پاك شود فقط بايد با ثبت هر ركورد جديد شماره سندش REFRESH شود اما نمي دانم كجا بايد آن را SET كنم من دردكمه اضافه بعد از اضافه شدن ركوردها گفتم شماره سند جديد از DATABASE گرفته شود و به كاربربراي ثبت جديد نشان داده شود ولي براي كاربر دوم هم بايد نشان بدهد بدون اينكه اطلاعاتش پاك شود
لطفا اگر مي دانيد راهنماييم كنيد:گیج:

__H2__
دوشنبه 24 فروردین 1388, 01:38 صبح
سلام
اگر ردست متوجه شده باشم ...
مشکل شما در درج اطلاعات جدید است؟ درست است؟

شما باید فیلد اصلی primarykey را در جدول اصلی autonumber کنید.
با این کار کنترلر عدد درجی تقریباً از دست کد شما خارج میشود و خود دیتابیس برای هر درج یک کد انحصاری غیر تکراری ذخیره میکند.

با این روش شما نباید قبل از فشار دکمه Save کدی به کاربر نشان دهید، چون چیزی ثبت نشده و شاید اصلاً ثبت نشود !

کاربر اطلاعات را وارد میکند و دکمه Save را میزند، شما دستور INSERT را اجرا میکنید (بدون دادن مقدار primarykey) و بعد از INSERT دستور SELECT @@IDENTITY را اجرا میکند که یک عدد به شما پس میدهد و این همان عدد primarykey سطر تازه درج شده کاربرتان است.

بعد شما این عدد را به کاربر نشان میدهید ...
با این روش استاندارد هیچگاه در چندکاربری و چند ریسمانی دچار مشکل نخواهید شد.

موفق باشید.

kablayi
دوشنبه 24 فروردین 1388, 12:46 عصر
منم با H2 موافقم ...
فکر کنم منظور H2اینه که اول شما اطلاعات رو ذخیره کنید بعد کد ذخیره اونو به کاربر نشان بدین و به اون اعلام کنید که اطلاعات با این کد ذخیره شد...
اگر اول کد رو در اختیار کاربر قرار بدین ممکنه یه نفر دیگه تو سیستم قبل از اینکه شما اطلاعات رو ذخیره کنید همین کد رو دریافت کنه و زودتر از شما اطلاعات رو وارد کنه و ذخیره کنه که در اون موقع کدی که سیستم به شما داده تکراری میشه ...
در بسیاری از سیستم ها این روش پیاده میشه یعنی بعد از ثبت اطلاعات به شما به کد یا ID یا کد رهگیری میده .... که همون شماره سند مد نظر شماست ...

موفق باشید