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

نام تاپیک: اشکال دستور آپدیتم کجاست؟

  1. #1

    اشکال دستور آپدیتم کجاست؟

    دوستان من دستور آپدیتی مطابق کدهای زیر نوشتم ولی مشکلش اینه که حتی وقتی شرط هم برقرار نیست پیغام ویرایش انجام شد رو نشون می ده و وارد catch نمی شه می شه لطف کنید بگید مشکلش کجاست؟


    try
    {
    string str;
    str = "Data Source=.;Initial Catalog=ghalam;Integrated Security=True";
    SqlConnection con = new SqlConnection(str);
    con.Open();
    SqlCommand com = new SqlCommand("update ramz set password=@password where id='" + textBox1.Text + "' ", con);
    com.Parameters.AddWithValue("@password", textBox2.Text.Trim());
    com.ExecuteNonQuery();
    MessageBox.Show("ویرایش انجام شد ");
    con.Close();
    }

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

    نقل قول: اشکال دستور آپدیتم کجاست؟

    ببین دوست عزیز try و catch واسه این نیست که شرطی برقرار نباشه، واسه این که اگه تو کدهای نوشته شده توی try به خطای runtime خورد برنامه تو cathc بره و کدهای اون قسمت رو اجرا کنه و مثلا بگه خطا به چه دلیل بوده و ... . تو مثال شما به هر حال کدها خط به خط اجرا میشه و چه رکوردی با اون مشخصات آیدی پیدا کنه و نکنه به خط 10 میرسه و پیغام میده. ,واسه حل مشکلتون باید بدونی که دستور ExecuteNonQuery خروجی تعداد رکوردی که روش عملیاتی انجام شده رو برمیگردونه و شما میتونی یه متغیر integer تعریف کنی و ExecuteNonQuery خروجیشو بریزی تو اون و خط بعد چک کنی اگه مقدارش بزرگتر از 1 بود یعنی رکوردی update شده و حالا پیغام بدی
    موفق باشی

  3. #3

    نقل قول: اشکال دستور آپدیتم کجاست؟

    نقل قول نوشته شده توسط shadi khanum مشاهده تاپیک
    ببین دوست عزیز try و catch واسه این نیست که شرطی برقرار نباشه، واسه این که اگه تو کدهای نوشته شده توی try به خطای runtime خورد برنامه تو cathc بره و کدهای اون قسمت رو اجرا کنه و مثلا بگه خطا به چه دلیل بوده و ... . تو مثال شما به هر حال کدها خط به خط اجرا میشه و چه رکوردی با اون مشخصات آیدی پیدا کنه و نکنه به خط 10 میرسه و پیغام میده. ,واسه حل مشکلتون باید بدونی که دستور ExecuteNonQuery خروجی تعداد رکوردی که روش عملیاتی انجام شده رو برمیگردونه و شما میتونی یه متغیر integer تعریف کنی و ExecuteNonQuery خروجیشو بریزی تو اون و خط بعد چک کنی اگه مقدارش بزرگتر از 1 بود یعنی رکوردی update شده و حالا پیغام بدی
    موفق باشی
    ممنون کاری که گفتید رو انجام دادم البته برای بزرگتر از صفر جواب داد. ممنون از توضیحتون واقعا کارمو راه انداخت.

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

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