PDA

View Full Version : چرا تعداد رکوردها بعد بستن فرم دوبرابر میشن ؟



programerinfonet
دوشنبه 23 دی 1392, 00:33 صبح
سلام دوستان من از کد زیر جهت عمل درج در بانک از طریق دیتاگرید استفاده می کنم اما مشکلی که هست اینه که بعد از بستن فرم و اجرای مجدد تعداد رکوردها دوبرابر میشه
مثلأ اگه الان ثبت کنم "علی" و فرم را ببندم و مجدد باز کنم تعداد رکورد علی شده 2 تا
اگر ببندم و مجدد باز کنم علی شده 4 تا و بعد 8 و 16 و ...


private void cb1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlDataAdapter da =
new SqlDataAdapter(
"SELECT * FROM Table_Model where Berand_ID ='" + STR_ID + "'", cn);
da.Fill(ds, "Table_Model");
dataGridView1.DataSource = ds.Tables["Table_Model"];

}

private void model_FormClosing(object sender, FormClosingEventArgs e)
{

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
SqlCommand cmd = new SqlCommand();
cmd = new SqlCommand("INSERT INTO Table_Model (Berand_ID,Model) VALUES('"+ STR_ID +"','" + ds.Tables[0].Rows[i]["Model"].ToString() + "')",


مشکل کجاست لطفأ کمک کنید
مرسی

nice_boy_a
دوشنبه 23 دی 1392, 01:38 صبح
سلام. قبل از اینکه عمل Fill رو انجام بدی جدول Table_Model که داخل دیتا ست هست رو پاک کن.

programerinfonet
دوشنبه 23 دی 1392, 01:46 صبح
سلام. قبل از اینکه عمل Fill رو انجام بدی جدول Table_Model که داخل دیتا ست هست رو پاک کن.
نه عزیز این جوابگو نیست

nice_boy_a
دوشنبه 23 دی 1392, 02:10 صبح
چرا دستور insert رو داخل FormClosing نوشتی ؟
و چرا insert رو داخل حلقه گذاشتی ؟
کدی که نوشتی یعنی به اندازه ی تعداد رکوردهای جدول عمل insert انجام بده، یعنی اگه 2 رکورد وجود داشت میشه 4 تا و اگه 4 تا وجود داشت میشه 8 تا و ...
برنامه طبق کدهای خودت درست کار میکنه !

programerinfonet
دوشنبه 23 دی 1392, 14:20 عصر
چیکار کنم که از شر این کشل خلاص بشم ؟
چه تغییراتی تو کد ایجاد کنم ؟

mahdi.compute
دوشنبه 23 دی 1392, 16:15 عصر
نه عزیز این جوابگو نیست

ds.Tables[0].Rows.Clear();
این جوری میشه !