PDA

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



salehvasaleh
یک شنبه 02 بهمن 1390, 12:28 عصر
دوستان من دستور آپدیتی مطابق کدهای زیر نوشتم ولی مشکلش اینه که حتی وقتی شرط هم برقرار نیست پیغام ویرایش انجام شد رو نشون می ده و وارد 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();
}

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

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