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

نام تاپیک: lock کردن یک فیلد از جدول

  1. #1

    Exclamation lock کردن یک فیلد از جدول

    سلام
    چطور میشه یک سطر از جدول رو lock کرد که هم زمان 2 نفر به این سطر دسترسی نداشته باشند و فقط 1 نفر قادر به تغییر باشه


  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: lockکردن یک فیلد از جدول

    نقل قول نوشته شده توسط poya121 مشاهده تاپیک
    سلام
    چطور میشه یک سطر از جدول رو lock کرد که هم زمان 2 نفر به این سطر دسترسی نداشته باشند و فقط 1 نفر قادر به تغییر باشه
    سلام
    اگه نفر اول رکورد رو که خوند، اون رو قفل کنه، بقیه کاربرها برنامه‌هاشون قفل می‌شه، مثل این که هنگ کرده باشه سیستمشون.
    پس نمی‌شه با خوندن رکورد اون رو قفل کرد. بهترین کار اینه که هنگام نوشتن، این کنترل انجام بشه.
    یعنی شما یه Transaction باز می‌کنی، مقدار قبلی رکورد رو می‌خونی، با مقدار اولیه‌ای که داشتی مقایسه می‌کنی. اگه تغییری
    نکرده بود مقدار جدید رو می‌نویسی و Transaction رو می‌بندی. و اگر هم تغییر کرده بود، به کاربر پیغام خطا رو می‌دی.

    اگر نمی‌خوای تمام ستون‌ها رو مقایسه کنی، کافیه تو اون جدول یک TimeStamp بگذاری، و فقط اون رو مقایسه کنی.

    صبا صبوحی

  3. #3

    نقل قول: lockکردن یک فیلد از جدول

    میشه یه نمونه کد برام بزارین؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: lockکردن یک فیلد از جدول

    نقل قول نوشته شده توسط poya121 مشاهده تاپیک
    میشه یه نمونه کد برام بزارین؟
    سلام
    گمان کنم که توضیح پست قبلی واضح بود، اما این هم نمونه کد:

    using ( var scope = new TransactionScope() )
    using ( var entity = new MyDataContext() ){
    try{
    var dbItem = entities.MyTable.SingleOrDefault( x=> x.Id = MyItem.Id );
    if ( dbItem == null || dbItem.TimeStamp != MyItem.TimeStamp ) {
    MessageBox.Show( "Data is changed in database");
    return;
    }
    UpdateDbItem( dbItem, MyItem );
    entities.SaveChanges();
    scope.Complete();
    } catch ( Exception ){
    }
    }

    فرض کردم که MyItem مقداری هست که قبلاً بارگزاری شده و توسط کاربر ویرایش شده. و UpdateDbItem هم تابعی هست که مقدار ستون‌های MyItem
    رو روی مقادیر dbItem کپی می‌کنه.

    صبا صبوحی

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

  1. ضمیمه کردن دو فیلد از جدول
    نوشته شده توسط Hossis در بخش VB.NET
    پاسخ: 2
    آخرین پست: جمعه 13 اسفند 1389, 01:22 صبح
  2. سوال: کپی کردن چند فیلد یک جدول در خود آن جدول
    نوشته شده توسط ali reza mansoori 2 در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 5
    آخرین پست: چهارشنبه 20 بهمن 1389, 08:47 صبح
  3. دستور پیدا کردن یک فیلد در جدول و Query
    نوشته شده توسط baran_bataravat در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: جمعه 13 آذر 1388, 02:20 صبح
  4. اضافه کردن یک فیلد به جدول
    نوشته شده توسط mandana2010 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: چهارشنبه 25 مهر 1386, 14:18 عصر
  5. اضافه کردن یک فیلد به جدول در زمان اجرا
    نوشته شده توسط javidtaheri در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: چهارشنبه 21 اردیبهشت 1384, 03:57 صبح

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

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