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

نام تاپیک: دلیل استفاده از شرط IF در هنگام عملیات Update/Remove از دیتا بیس

  1. #1

    دلیل استفاده از شرط IF در هنگام عملیات Update/Remove از دیتا بیس

    سلام و سپاس. در اموزشهایی که از سایتها مختلف من جمله Udemy دیدم ( در دوره های asp.net mvc5 یا asp.net core) هنگام عملیات اپدیت یا حذف از شرط نال نبودن استفاده میکنند :

    public void update(Category category)
    {

    Category ObjFromDB = _db.categories.FirstOrDefault(x => x.CategoryID == category.CategoryID);
    if (ObjFromDB != null)
    {
    ObjFromDB.CategoryName = category.CategoryName;
    _db.SaveChanges();
    }
    }


    بعنوان نمونه در مثال فوق، زمانی که یک category برای اپدیت ارسال میشود، مسلما وجود داشته که از لیست انتخاب شده و دکمه ویرایش روی ان زده شده !! چرا مجددا با شرط if بررسی نال نبودن میشود در صورتی که اگر وجود نداشت کاربر انرا نمیدید تا بخواهد پاک کند یا ویرایش کند ؟!

    مگر اینکه بگوییم چند کاربر به ان category دسترسی دارند، و همزمان در حال مشاهده ان هستند، موقعی که یک کاربر وارد صفحه ویرایش میشود، کاربر دیگر بلالفاصله انرا حذف میکند و کاربر اول هنوز در صفحه ویرایش می باشد و موقع ذخیره تغییرات احتمالا Exception error میبیند ؟!

    ممنون

  2. #2
    کاربر دائمی آواتار ShayanFiroozi
    تاریخ عضویت
    شهریور 1397
    محل زندگی
    بندرعباس ، خلیج همیشه فارس
    سن
    38
    پست
    224

    نقل قول: دلیل استفاده از شرط IF در هنگام عملیات Update/Remove از دیتا بیس

    سلام ،

    یکی از دلایل این هست که سبک های برنامه نویسی زیادی وجود داره و معمولا هم هر کس اصرار میکنه که راه درست رو من میرم !! و واقعا هم ملاک خاصی برای این موضوع وجود نداره ،

    در خصوص کد بالا ممکنه هرگز اون if به کار نیاد اما همونطور که خودتون اشاره کردین در یک سامانه پر تراکنش که هر چیزی توش ممکنه باید چک بشه ، چرا ؟ چون وظیفه اصلی برنامه نویس اینه که خطاها رو به خوبی مدیریت کنه و کمتر اونا رو به سمت کاربر ببره.

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


    به هر حال سبک ها متفاوته ولی کار از محکم کاری عیب نمیکنه معمولا اینگونه کدها اصطلاحا Resource Consuming نیستند و بود و نبودشون در سرعت اجرا و یا مصرف منابع ـاثیری نداره.

    ضمنا در کد بالا میبینید که Exception ها مدیریت نشدند پس وجود این if تقریبا ضروریه ، مخصوصا در یک سیستم چند کاربره ، فرض کنید مثلا شبکه شتاب که تراکنش هاش به هزاران در دقیقه میرسه همه چیز توش ممکنه !
    آخرین ویرایش به وسیله ShayanFiroozi : شنبه 13 اردیبهشت 1399 در 06:29 صبح

  3. #3

    نقل قول: دلیل استفاده از شرط IF در هنگام عملیات Update/Remove از دیتا بیس

    نقل قول نوشته شده توسط ehsan_kabiri_33 مشاهده تاپیک
    سلام و سپاس. در اموزشهایی که از سایتها مختلف من جمله Udemy دیدم ( در دوره های asp.net mvc5 یا asp.net core) هنگام عملیات اپدیت یا حذف از شرط نال نبودن استفاده میکنند :

    public void update(Category category)
    {

    Category ObjFromDB = _db.categories.FirstOrDefault(x => x.CategoryID == category.CategoryID);
    if (ObjFromDB != null)
    {
    ObjFromDB.CategoryName = category.CategoryName;
    _db.SaveChanges();
    }
    }


    بعنوان نمونه در مثال فوق، زمانی که یک category برای اپدیت ارسال میشود، مسلما وجود داشته که از لیست انتخاب شده و دکمه ویرایش روی ان زده شده !! چرا مجددا با شرط if بررسی نال نبودن میشود در صورتی که اگر وجود نداشت کاربر انرا نمیدید تا بخواهد پاک کند یا ویرایش کند ؟!

    مگر اینکه بگوییم چند کاربر به ان category دسترسی دارند، و همزمان در حال مشاهده ان هستند، موقعی که یک کاربر وارد صفحه ویرایش میشود، کاربر دیگر بلالفاصله انرا حذف میکند و کاربر اول هنوز در صفحه ویرایش می باشد و موقع ذخیره تغییرات احتمالا Exception error میبیند ؟!

    ممنون
    باید قبل عملیات نوشتن این مورد رو کنترل کرد چون که Exception مدیریت نشده در کد .

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

  1. update دیتابیس
    نوشته شده توسط elahe1393 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: یک شنبه 16 شهریور 1393, 08:27 صبح
  2. آموزش: select, update, insert, delete در دیتا بیس با استفاده از Entity data modle, Silverlight و MVVM
    نوشته شده توسط mahmoodkabi در بخش Silverlight
    پاسخ: 0
    آخرین پست: چهارشنبه 29 تیر 1390, 23:31 عصر
  3. استفاده از دستور Update حالت DBDirectMethod برای Update یک DataSet بر روی دیتابیس
    نوشته شده توسط Ghalandari در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: چهارشنبه 29 آبان 1387, 08:19 صبح
  4. update یا remove و Insert :)
    نوشته شده توسط salmanmp در بخش SQL Server
    پاسخ: 1
    آخرین پست: یک شنبه 08 مهر 1386, 14:09 عصر

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

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