我在gridview中有一个buttonfield,当我按下该按钮时它从第一列获取id值,我在select语句中使用该id来从表中获取数据,但是我得到了这个错误“No Value给出一个或多个参数“
protected void grdData_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow row = grdData.SelectedRow;
string id = row.Cells[1].Text;
try
{
conn.ConnectionString = conn_string;
conn.Open();
mySQLCommand.Connection = conn;
mySQLCommand.CommandText = "Select [Movie_Description],[Movie_Image] from Movie_tbl where Movie_ID = @Movie_ID";
mySQLCommand.Parameters.Add("@Movie_ID", OleDbType.VarChar).Value = id;
myDataReader = mySQLCommand.ExecuteReader();
if (myDataReader.Read())
{
txtDescription.Text = myDataReader["Movie_Description"].ToString();
}
else
{
txtDescription.Text = "No Such Movie";
}
}
catch (Exception ex)
{
throw ex ;
}
}
答案 0 :(得分:0)
我没有太多使用mySQL,但我很确定你不需要OleDbType.VarChar
参数。我没有看到在MS Access之外使用的。尝试:
mySQLCommand.Parameters.AddWithValue("@Movie_ID", id);
如果失败,可以尝试
mySQLCommand.Parameters.Add(new MySqlParameter("@Movie_ID", id));
mySQLCommand
在您的代码中属于MySqlCommand
类型,对吗?