我有一个从 mysql 数据库填充的 gridview。我在 gridview 中有代理键列 (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();
}
我的行有问题
。我不知道我正在做的其余事情是否正确。
我得到一个空引用
最佳答案
从您的查询中删除星号 (*),如下所示:
cmd.CommandText = "DELETE FROM `PostDb` WHERE `id` = " + row;
关于c# - 通过mySql源从gridview中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40947430/