PDA

View Full Version : تخصیص نوبت یا شماره فیش در یک برنامه با بیش از یک کاربر !



itman.jam
چهارشنبه 08 بهمن 1393, 11:32 صبح
سلام دوستان
درصورتی که چند همزمان در حال صدور فاکتور هستند و ما میخواهیم فاکتورها یا فیش های ما (علاوه بر اینکه یه آیدی منحصر بفرد بهشون دادیم و مشکلی نیست) دارای یک شماره باشن برای نوبت ! که مثلا از 100 شروع بشن باید چکار کنیم ؟
در حالت تک کاربره برنامه سادست و میتونیم اولین فیش را با شماره 100 ذخیره کنیم و بعد از اون با جستجوی فیلد ( شماره فیش) از آخرین رکورد داخل بانک , و اضافه کردن یک واحد به اون شماره فیش(نوبت ) جدید را صادر کنیم
ولی اگه چند کاربر همزمان در حال صدور فیش باشن (در یک شبکه ) برنامه چطور بفهمه که باید چه عددی را برای فیش صادر شده اختصاص بده که تکراری نباشه . البته همونطورکه میدونید نمیشه آخرین شماره را از بانک خوند چون ممکنه درهمون لحظه چند نفر دیگه همین کار را انجام بدن و همگی یک عدد مثلا 105 را از بانک بخونن و شماره 106 برای فیش های صادر شدشون چاپ بشه !!

راه حلتون چیه دوستان ؟

sajadsobh
چهارشنبه 08 بهمن 1393, 16:51 عصر
شماره فاکتور مگه مهمه چی باشه؟ وقتی Is Identity رو yes کرده باشین خودش خودبخود یک واحد اضافه میشه دیگه. بعدشم اگه موقع استفاده از چند کاربر واستون مهمه که چه شماره ای داره انتخاب میشه، باید طوری برنامه رو طراحی کنید که وقتی کسی داره داده ای رو در یک جدول insert میکنه کاربر دیگه منتظر بمونه تا عمل insert انجام بشه. و در واقع اتصال کاربر قبلی از اون جدول قطع بشه. البته این نظر منه. بقیه اساتید نظر بدن ما هم یاد میگیریم.

itman.jam
چهارشنبه 08 بهمن 1393, 17:29 عصر
شماره فاکتور مگه مهمه چی باشه؟ وقتی Is Identity رو yes کرده باشین خودش خودبخود یک واحد اضافه میشه دیگه. بعدشم اگه موقع استفاده از چند کاربر واستون مهمه که چه شماره ای داره انتخاب میشه، باید طوری برنامه رو طراحی کنید که وقتی کسی داره داده ای رو در یک جدول insert میکنه کاربر دیگه منتظر بمونه تا عمل insert انجام بشه. و در واقع اتصال کاربر قبلی از اون جدول قطع بشه. البته این نظر منه. بقیه اساتید نظر بدن ما هم یاد میگیریم.

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