سلام
برای حذف همزمان چندین رکورد یه راهش استفاده از قطعه کد زیر هست.
در این روش درون یه حلقه، هر سطری که تیک اون زده شده، آی دی اون (کلید جدولت) برداشته میشه و بعدش در خارج از حلقه با یکبار وصل شدن به دیتابیس، اون رکوردها رو حذف میکنه.
کدها کاملا واضح هستن فقط توضیح در مورد متد Remove اینکه : آخرین کلید که اضافه میشه یه کاما هم به آخرش اضافه میشه که باید حذف بشه. به همین خاطر از متد remove استفاده شده که پارامتر اول به آخرین کاراکتر (همون کاما که اندیسش Length - 1 میشه) اشاره میکنه و پارامتر دوم هم که عدد 1 هست یعنی فقط همون 1 کاراکتر رو حذف کن.
string s = "";
for (int i = 0; i <= karkard_dgv_karkard.RowCount - 1; i++)
{
if(Convert.ToBoolean(karkard_dgv_karkard.Rows[i].Cells["chkcol"].Value) == true)
{
// شماره یا نام سلولی که آی دی جدولت درون اون قرار داره رو جایگزین کد زیر کن
s = s + dataGridView1.Rows[i].Cells[1].Value + ",";
}
}
if(s.Length > 1)
{
s = s.Remove(s.Length - 1, 1);
SqlConnection con = new SqlConnection("Data source =(local);initial catalog = testgrid;integrated security = true");
SqlCommand cmd = new SqlCommand("delete from student where id in (" + s + ")", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
موفق باشید.