我试图从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();
}
发布于 2015-10-30 19:50:07
有任何错误信息吗?另外,您在哪里定义Conn
,DeleteDataRow()是否可以访问它?
如果是这样的话,您需要在using语句中对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();
}
}
另外要注意的是,您可能希望在查询中检查客户的拼写。
https://stackoverflow.com/questions/33442157
复制相似问题