PDA

View Full Version : مشکل بسته شدن فرم بعد از انتخاب دکمه Yes یا No در messegebox



alia.n
شنبه 23 دی 1391, 16:29 عصر
سلام دوستان من فرم های خودم رو با خاصیت ShowDialog() باز میکنم اما با زدن دکمه ای برای حذف رکوردی از دیتابیس ، پیام مبنی بر اطمینان حذف ظاهر میشه ، با انتخاب هر دکمه از این مسیج باکس صفحه جاریم بسته میشه مشکل کجاست؟؟؟؟؟؟؟؟؟؟؟؟؟

programerinfonet
شنبه 23 دی 1391, 16:43 عصر
کدتو بذار ببینم
یه جایی از متد خروج استفاده کردی
یا اگه از try catch استفاده کرده باشی یه جایی کدت باگ داره

alia.n
شنبه 23 دی 1391, 16:51 عصر
کدتو بذار ببینم
یه جایی از متد خروج استفاده کردی
یا اگه از try catch استفاده کرده باشی یه جایی کدت باگ داره


private void button3_Click(object sender, EventArgs e)
{
DialogResult = MessageBox.Show("آیا برای حذف کتاب مطمئن هستید؟", "حذف", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign);
if (DialogResult == DialogResult.Yes)
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=KetabKhaneh;Integrated Security=True;Pooling=False");
SqlCommand da = new SqlCommand("DELETE FROM book WHERE code_book =@code_book", con);
da.Parameters.AddWithValue("@code_book", textBox8.Text);
con.Open();
da.ExecuteNonQuery();
con.Close();
SqlConnection con1 = new SqlConnection("Data Source=.;Initial Catalog=KetabKhaneh;Integrated Security=True;Pooling=False");
SqlDataAdapter da1 = new SqlDataAdapter("Select * from book", con1);
con1.Open();
DataTable dt1 = new DataTable();
da1.Fill(dt1);
dataGridView1.DataSource = dt1;
label9.Text = "اطلاعات با موفقیت حذف شد.";
}

}


با همین کد وقتی messegebox را برمیدارم به درستی کار میکنه و بسته نمیشه.

programerinfonet
شنبه 23 دی 1391, 17:02 عصر
دوست عزیز کدتون رو به این تغییر بدید

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=KetabKhaneh;Integrated Security=True;Pooling=False");

private void Form1_Load(object sender, EventArgs e)
{
con.Open();

if (MessageBox.Show("آیا برای حذف کتاب مطمئن هستید؟", "حذف", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign) == DialogResult.Yes)
{
SqlCommand da = new SqlCommand("DELETE FROM book WHERE code_book =('"+textBox8.Text+"')", con);
da.ExecuteNonQuery();

SqlDataAdapter da1 = new SqlDataAdapter("Select * from book", con1);
DataTable dt1 = new DataTable();
da1.Fill(dt1);
dataGridView1.DataSource = dt1;
label9.Text = "اطلاعات با موفقیت حذف شد.";

con.Close();
}
}

هم اصلاح کردم و هم کوتاه تر

alia.n
شنبه 23 دی 1391, 17:13 عصر
ممنون درست شد میشه بگید چه اتفاقی می افتاد که بسته میشد!

programerinfonet
شنبه 23 دی 1391, 17:23 عصر
راستش خودم هم نمی دونم:قهقهه:
نه شما دوبار یک کانکشن رو باز نگه داشته بودید که اصلأ صحیح نیست
کلأ کدتون مناسب نبود و به همین دلیل باگ میداده و چون شما کدتون رو کنترل کردیه بودید پس بنابر این از فرم خارج میشه
حتی اگه کنترل کدتون تو یک رویداد دیگه بوده باشه