نمایش نتایج 1 تا 4 از 4

نام تاپیک: اشکال در درج اطلاعات در جداول Master/Detail

  1. #1

    اشکال در درج اطلاعات در جداول Master/Detail

    با سلام خدمت دوستان
    من یه برنامه دارم که به یه بانک با دوتا جدول وصله. توی یه جدول شماره ثبت کالاها میشینه که این جدول جدول master منه و توی جدول دوم ردیف های کالا قرار می گیره که این جدول جدول detail من میشه.
    این برنامه تحت شبکه اجرا میشه و شماره ثبت را خود سیستم بسته به آخرین شماره ثبت کالای ثبت شده در جدول master می اندازه و کاربر می تونه ردیف های کالا را در یه جدول temp اضافه کنه(این جدول temp دقیقا ساختارش شبیه جدول detail ماست) و پس از زدن دکمه ثبت نهایی، اطلاعات توی جدول detail میشینه.
    حالا مشکل من اینه:
    فرض کنید یه کاربربرنامه را باز کرده و مثلا داره ردیف های کالا برای شماره ثبت کالای 100 را میزنه. در همین حین یه کاربر دیگه از یه سیستم دیگه وارد میشه و قاعدتا اون هم شماره ثبت 100 را می بینه(چون هنوز دکمه ثبت نهایی زده نشده که سطر جدیدی به جدول اصلی اضافه بشه و شماره ثبت یکی اضافه بشه). من چطور می تونم کاری کنم که شماره 100 برای کاربر اول قفل بشه و کاربر دوم شماره 101 را ببینه؟ البته میشه این کار را کرد که سیستم شماره ثبت را از جدول temp بندازه ولی یه مشکل بوجود می آد. اگه کاربر اول از زدن دکمه ثبت نهایی منصرف بشه اونوقت شماره ثبت 100 در جدول master خالی رد میشه که من این را نمی خوام. حالا شما میگید من چکار کنم؟

  2. #2
    کاربر دائمی آواتار davood-ahmadi
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    تهران
    پست
    568

    نقل قول: اشکال در درج اطلاعات در جداول Master/Detail

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

  3. #3

    نقل قول: اشکال در درج اطلاعات در جداول Master/Detail

    سلام مجدد
    توی جدول master شماره های ثبت میشینه که یه کد 5 رقمیه و برنامه آخرین کد این جدول را میخونه و یکی بهش اضافه میکنه و به کاربر نشون میده.
    حالا کاربر برای اون شماره ثبت لیست کالا و مشخصات هر کالا را اضافه میکنه. که این ردیف کالاها یکی یکی اضافه میشه و توی یه جدول موقت نگهداری میشه.
    مثلا:
    واسه شماره ثبت 12423 سه ردیف کالای 1و2و3 ثبت میشه.
    حالا کاربر کل موارد درج شده را چک میکنه و با زدن دکمه ثبت نهایی، شماره ثبت توی جدول master و شماره ردیف کالاهای مربوط به اون شماره ثبت توی جدول detail میشینه و جدول موقت کاملا خالی میشه. بعد از زدن دکمه ثبت نهایی، حالا کاربر شماره ثبت 12424 را می بینه و میتونه ردیف کالاهای این شماره را طبق روال قبل درج کنه.
    اما مشکل وقتی بوجود میاد که دو تا کاربر از دوتا سیستم متفاوت وارد بشن و مشغول عملیات بشن که در این صورت ممکنه واسه یه شماره ثبت یکسان، ردیف کالاهای نادرستی به بانک اضافه بشه.
    اگه ثبت موقت نداشته باشیم که نمیشه. اومدیم و کاربر ردیف کالاها را وارد کرد و اصلا پشیمون شد. اونوقت باید بریم و اون ردیف کالاها را از جدول detail حذف کنیم. در اصل یه جور rollback دستی!

  4. #4
    کاربر دائمی آواتار davood-ahmadi
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    تهران
    پست
    568

    نقل قول: اشکال در درج اطلاعات در جداول Master/Detail

    سلام.
    شما از دو روش می تونید استفاده کنید:
    1- شماره ثبت رو هنگام زدن کلید ثبت نهایی به سیستم بده که دیگر این مشکل پیش نیاد
    2- برای جدول temp یک زمان اعتبار بگذار (timeout ) . یعنی اینکه مثلا وقتی شماره ای رو رزرو می کنی در جدول temp تا 15 دقیقه فرصت داره که کاربری که این شماره رو رزرو کرده اطلاعات رو وارد کنه و ثبت نهایی رو بزنه.
    یک عیب بزرگ :
    اگر کاربر شماره 1 یک شماره 100 رو رزرو کرد و کاربر شماره 2 هم بعد از 5 ثانیه شماره 101 رزرو کرد، ممکنه که کاربر 2 سریعتر اطلاعات رو ثبت کنه که اطلاعات 100 به نام کاربر 2 ثبت میشه. ( بخاطر همین مسئله روش اول رو پیشنهاد می کنم )

    اگر خواستی نمونه بگذار تا راحتتر بتونم کمکت کنم

تاپیک های مشابه

  1. استفاده از locate در جداول master / detail
    نوشته شده توسط namionlinne در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 6
    آخرین پست: یک شنبه 16 خرداد 1389, 17:01 عصر
  2. سوال: اشکال در کپی اطلاعات به جداول اکسس 2007
    نوشته شده توسط hamedehsanzadeh در بخش Access
    پاسخ: 0
    آخرین پست: سه شنبه 18 فروردین 1388, 15:06 عصر
  3. چگونگی ایجاد جداول master detail
    نوشته شده توسط newmefmef در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: دوشنبه 16 بهمن 1385, 21:33 عصر
  4. جستجو در جداول Master/Detail
    نوشته شده توسط javidtaheri در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 21 شهریور 1385, 17:55 عصر
  5. نمایش جداول Master-Detail در DataGrid
    نوشته شده توسط nokhod در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: سه شنبه 06 دی 1384, 13:07 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •