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

نام تاپیک: rollback کردن تراکنش

  1. #1

    Question rollback کردن تراکنش

    چرا پیغام
    Use of unassigned local variable 'mySqlTransaction'
    رو میده؟
             SqlTransaction mySqlTransaction;
    try
    {

    mySqlConnction.Open();
    mySqlTransaction = mySqlConnction.BeginTransaction();
    mySqlCommand.Transaction = mySqlTransaction;
    mySqlDataReader = mySqlCommand.ExecuteReader();
    mySqlTransaction.Commit();
    while (mySqlDataReader.Read())
    {
    Console.WriteLine("{0}", mySqlDataReader["CompanyName"]);
    }
    }
    catch (SqlException se)
    {
    mySqlTransaction.Rollback();
    MessageBox.Show(se.Message.ToString(), se.Number.ToString());
    }

  2. #2

    نقل قول: rollback کردن تراکنش

    اول مقدار فعال کننده ی mySqlTransaction رو برابر با null قرار بده.

    دوم، Rollback رو که در Catch گذاشتی، مجدداً در یک Try Catch دیگه قرار بده. یعنی Try Catch در Catch باشه. در قسمت Try، دستور Rollback رو بنویس.
    البته پیشنهاد من اینه که از تراکنش در سطح دیتابیس استفاده کنی نه در خود برنامه.

    موفق باشید.

  3. #3

    نقل قول: rollback کردن تراکنش

    اول مقدار فعال کننده ی mySqlTransaction رو برابر با null قرار بده.
    متوجه نمیشم!

  4. #4

    نقل قول: rollback کردن تراکنش


    SqlTransaction mySqlTransaction = null;

  5. #5

  6. #6

    نقل قول: rollback کردن تراکنش

    متوجه نمیشم!
    یعنی خودش بطور خودکار متغیرها را مقداردهی اولیه نمیکنه، باید خودت این کار را انجام بدی. تا زمانی هم که مقداردهی اولیه نکنی، نمیتونی به متغیر دسترسی داشته باشی.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  7. #7

    نقل قول: rollback کردن تراکنش

    نقل قول نوشته شده توسط Behrouz_Rad مشاهده تاپیک
    اول مقدار فعال کننده ی mySqlTransaction رو برابر با null قرار بده.

    دوم، Rollback رو که در Catch گذاشتی، مجدداً در یک Try Catch دیگه قرار بده. یعنی Try Catch در Catch باشه. در قسمت Try، دستور Rollback رو بنویس.
    البته پیشنهاد من اینه که از تراکنش در سطح دیتابیس استفاده کنی نه در خود برنامه.

    موفق باشید.
    آره منم از این تابع استفاده کردم و خطا داد . آخه زمانی ما از این تابع استفاده می کنیم که ثبت اطلاعات در بانک به طور نصفه انجام شده و می خوایم به اول برگرده ولی خطا میده . حالا اگه از یک Try و Catch در داخل catch استفاده کنیم سودی نداره چون دوباره به قسمت catch میره . بهترین راهش همون استفاده از Linq هست .

  8. #8

    نقل قول: rollback کردن تراکنش

    آخه من این تکه کد رو از سایت مایکروسافت بر داشته بودم.تعجب میکنم که خطا میده.
    تازه به DataAdapter هم گیر میده که DataAdapter باز مونده پس نمی تونی commit کنی

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    80

    نقل قول: rollback کردن تراکنش

    نقل قول نوشته شده توسط Afshin_Zavar مشاهده تاپیک
    چرا پیغام
    رو میده؟
             SqlTransaction mySqlTransaction;
    try
    {

    mySqlConnction.Open();
    mySqlTransaction = mySqlConnction.BeginTransaction();
    mySqlCommand.Transaction = mySqlTransaction;
    mySqlDataReader = mySqlCommand.ExecuteReader();
    mySqlTransaction.Commit();
    while (mySqlDataReader.Read())
    {
    Console.WriteLine("{0}", mySqlDataReader["CompanyName"]);
    }
    }
    catch (SqlException se)
    {
    mySqlTransaction.Rollback();
    MessageBox.Show(se.Message.ToString(), se.Number.ToString());
    }
    مي شه بگين اين كد قرار چكار كنه؟

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

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