private void shanchu()
{
string ID = "";
string sql = "Select * from StudentID";
foreach (DataGridViewRow dgvr in dataGridView1.SelectedRows)
{
ID = ID + dgvr.Cells["Column1"].Value + ",";
}
ID = ID.Substring(0, ID.Length - 1);
string SQL="DELTE * From StudentID where ID in ("+ID+");";
SqlConnection sqlcon = new SqlConnection("server=.;database=Accp;Uid=sa;pwd=123456");
sqlcon.Open();
SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
int deleteRes = sqlcom.ExecuteNonQuery();
sqlcon.Close();
if (deleteRes > 0)
{
MessageBox.Show("删除成功!");
}
else
{
MessageBox.Show("删除失败!");
}
{
string ID = "";
string sql = "Select * from StudentID";
foreach (DataGridViewRow dgvr in dataGridView1.SelectedRows)
{
ID = ID + dgvr.Cells["Column1"].Value + ",";
}
ID = ID.Substring(0, ID.Length - 1);
string SQL="DELTE * From StudentID where ID in ("+ID+");";
SqlConnection sqlcon = new SqlConnection("server=.;database=Accp;Uid=sa;pwd=123456");
sqlcon.Open();
SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
int deleteRes = sqlcom.ExecuteNonQuery();
sqlcon.Close();
if (deleteRes > 0)
{
MessageBox.Show("删除成功!");
}
else
{
MessageBox.Show("删除失败!");
}
没看懂。。
Sql语句写错了:
正确写法,
string SQL="DELETE From StudentID where ID in ("+ID+");";
ID+=""
ID =ID.EndsWith(",")? ID.Substring(0, ID.Length - 1):ID;
if(!string.IsNullOrEmpty(ID))
{
string SQL="DELTE From StudentID where ID in ("+ID+");";
}
错误提示在这!
Length cannot be less than zero.
Parameter name: length
可能是你ID的Length 长度-1引起的,可能是你的长度不够
foreach (DataGridViewRow dgvr in dataGridView1.SelectedRows)
{
ID = ID + dgvr.Cells["Column1"].Value + ",";
}
ID+=dgvr.Cells["Column1"].Value;这样写好看些
给个链接给你参考下!
可能是你ID的Length 长度-1引起的,可能是你的长度不够是这样的!ID = ID + dgvr.Cells["Column1"].Value + ",";
substring 取的应该是Value后面这个字符串的值 ",";我现在拼接成我要删除1;那么就要去掉,号,所以用上substring;