我有一个从mysql数据库填充的gridview。我在gridview中有我的代理键列(HANDLE
),每行都有一个删除选项。
问题是我不知道如何在数据库删除命令中指定要删除的id
。
到目前为止我得到了以下内容:
id
我的protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int row = int.Parse(GridView1.Rows[e.RowIndex].FindControl("id").ToString()); // THIS IS WRONG!
String connString = ConfigurationManager.ConnectionStrings["MySql"].ToString(); //Conn string
MySqlConnection mySqlConnection = new MySqlConnection(connString); //Objekt
MySqlCommand cmd = new MySqlCommand(); //cmd objekt
cmd.CommandText = "DELETE * FROM `PostDb` WHERE `id` = " + row;
cmd.CommandType = CommandType.Text;
cmd.Connection = mySqlConnection;
mySqlConnection.Open();
GridView1.DataSource = cmd.ExecuteReader();
GridView1.DataBind();
mySqlConnection.Close();
}
出了点问题。我不知道我所做的其余事情是否正确。
我得到一个空引用
答案 0 :(得分:0)
从QUERY中删除STAR(*),如下所示:
cmd.CommandText = "DELETE FROM `PostDb` WHERE `id` = " + row;