正在从网格视图中删除选中的行

本文关键字:删除 视图 网格 | 更新日期: 2023-09-27 18:19:53

我正试图从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();
}

正在从网格视图中删除选中的行

是否有任何错误消息?此外,您在哪里定义ConnDeleteDataRow()是否可以访问它?

如果是这样,则需要在中使用语句对xComm进行稍微不同的定义。

打开连接后,您需要执行查询,例如使用ExecuteNonQuery来激发sql语句。请参阅MSDN文档

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();
    }
}

另一件需要注意的事情是,您可能需要检查查询中Customers的拼写。