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

نام تاپیک: مدیریت ثبت اطلاعات [C#‎‎‎ & SQL Server]

  1. #1
    کاربر دائمی آواتار csharpcollegian
    تاریخ عضویت
    خرداد 1394
    محل زندگی
    تهران
    پست
    174

    Question مدیریت ثبت اطلاعات [C#‎‎‎ & SQL Server]

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

  2. #2
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: مدیریت ثبت اطلاعات [C#‎‎‎‎ & SQL Server]

    سلام
    از Transaction به همراه Commit و Rollback استفاده کنید

    private void SqlTrans(string connectionString)
    {
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
    connection.Open();


    SqlCommand command = connection.CreateCommand();
    SqlTransaction transaction;


    // شروع تراکنش.
    transaction = connection.BeginTransaction("SampleTransaction");


    command.Connection = connection;
    command.Transaction = transaction;
    //دو عملیات درج همزمان
    try
    {
    command.CommandText =
    "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')";
    command.ExecuteNonQuery();
    command.CommandText =
    "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')";
    command.ExecuteNonQuery();



    transaction.Commit();
    هر دو رکورد توی دیتابیس در اینجا ثبت میشه
    }
    catch (Exception ex)
    {

    try
    {
    transaction.Rollback();


    اگر اتفاقی بد بیوفته هد دو عمل درج کنسل میشه
    }
    catch (Exception ex2)
    {
    }
    }
    }
    }
    آخرین ویرایش به وسیله ژیار رحیمی : دوشنبه 03 اسفند 1394 در 15:14 عصر

  3. #3
    کاربر دائمی آواتار csharpcollegian
    تاریخ عضویت
    خرداد 1394
    محل زندگی
    تهران
    پست
    174

    نقل قول: مدیریت ثبت اطلاعات [C#‎‎‎‎ & SQL Server]

    نقل قول نوشته شده توسط ali_md110 مشاهده تاپیک
    .
    .
    .
    }
    catch (Exception ex)
    {

    try
    {
    transaction.Rollback();

    اگر اتفاقی بد بیوفته هد دو عمل درج کنسل میشه
    }
    catch (Exception ex2)
    {
    }
    }
    }
    }


    پاسختون عالی و کامل بود
    مشکلم حل شد
    ممنونم ازتون
    آخرین ویرایش به وسیله csharpcollegian : دوشنبه 03 اسفند 1394 در 13:59 عصر

  4. #4
    کاربر دائمی آواتار csharpcollegian
    تاریخ عضویت
    خرداد 1394
    محل زندگی
    تهران
    پست
    174

    نقل قول: مدیریت ثبت اطلاعات [C#‎‎‎‎ & SQL Server]

    نقل قول نوشته شده توسط ali_md110 مشاهده تاپیک
    .
    .
    .
    catch (Exception ex)
    {

    try
    {
    transaction.Rollback();

    اگر اتفاقی بد بیوفته هد دو عمل درج کنسل میشه
    }
    catch (Exception ex2)
    {
    }

    دوست عزیز اگر درست متوجه شده باشم آخرین catch واسه وقتیه که عمل Rollback هم نتونه انجام بشه (حالا به هر دلیلی مثل بسته بودن کانکشن)
    حالا سوال من اینه اگه برق بره خب قطعا عمل Rollback هم نمی تونه انجام بشه !!!
    توو اینجور مواقع باید چه کار کرد ؟
    داخل catch آخر چه کدی باید بنویسیم که مشکل رو حل کنه ؟
    ممنون

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

  1. اشکال در انتقال اطلاعات از #C به SQL SERVER
    نوشته شده توسط bpzone در بخش C#‎‎
    پاسخ: 4
    آخرین پست: شنبه 27 مرداد 1386, 10:37 صبح
  2. در مورد اطلاعات حق دسترسی کاربران sql server
    نوشته شده توسط ali-se در بخش SQL Server
    پاسخ: 4
    آخرین پست: یک شنبه 19 آذر 1385, 08:06 صبح
  3. در مورد اطلاعات حق دسترسی کاربران sql server
    نوشته شده توسط ali-se در بخش VB.NET
    پاسخ: 1
    آخرین پست: جمعه 17 آذر 1385, 18:04 عصر
  4. تبدیل اطلاعات از foxpro به sql server
    نوشته شده توسط سعیده دهقان در بخش SQL Server
    پاسخ: 6
    آخرین پست: پنج شنبه 22 بهمن 1383, 16:05 عصر
  5. مشکل زمان انتقال اطلاعات یک Table از SQL Server به یک DBGrid
    نوشته شده توسط ar_monti@ در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: دوشنبه 04 آبان 1383, 13:57 عصر

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

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