【问题标题】:Deleting Checked rows from gridview从 gridview 中删除选中的行
【发布时间】:2015-10-30 17:57:25
【问题描述】:

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

【问题讨论】:

  • 放码哥们,你怎么选的?复选框?

标签: c# sql asp.net


【解决方案1】:

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

如果是这样,您需要在 using 语句中稍微不同地定义 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();
    }
}

另外需要注意的是,您可能需要在查询中检查 Customers 的拼写。

【讨论】:

    猜你喜欢
    • 2014-02-12
    • 2016-05-25
    • 2016-01-30
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    相关资源
    最近更新 更多