2015-10-30 112 views
1

我试图从gridview中删除选中的行(选定),但选定的行不会删除。为什么?从gridview中删除选中的行

//Class-Method 

public void DeleteDataRow(string ID) 
{ 
    using (SqlCommand xComm = new SqlCommand()) 
    { 
     Conn.Open(); 
     new SqlCommand("Delete from Costumers Where CID='" + ID + "' ", Conn); 
     Conn.Close(); 
    } 
} 

//webform-Method 

protected void xbutton_Click(object sender, EventArgs e) 
{ 
    foreach (GridViewRow row in GV.Rows) 
    { 
     CheckBox C = row.Cells[0].FindControl("Check") as CheckBox; 
     string ID= row.Cells[1].Text; 
     if(C.Checked) 
     { 
      m.DeleteDataRow(ID); 
     } 
    } 

    GV.DataSource = m.Select(); 
    GV.DataBind(); 
} 
+0

把代码花花公子,你怎么选择?复选框? –

回答

1

是否有任何错误信息?另外你在哪里定义Conn,是否可以访问DeleteDataRow()

如果是这样,您需要在使用声明的中有点不同地定义xComm

打开连接后,您需要执行查询,例如使用ExecuteNonQuery来触发sql语句。见MSDN documentation

public void DeleteDataRow(string ID) 
{ 
    using (SqlCommand xComm = new SqlCommand("Delete from Customers Where CID='" + ID + "' ", Conn)) 
    { 
     Conn.Open(); 
     int result = xComm.ExecuteNonQuery(); 
     Conn.Close(); 
    } 
} 

另一个要注意的是,你可能要检查的客户的拼写查询。