一个或多个参数不赋值

本文关键字:参数 赋值 一个 | 更新日期: 2023-09-27 17:54:46

我在gridview中有一个按钮字段,当我按下该按钮时,它从第一列获取id值,我在选择语句中使用该id,从表中获取数据,但我得到这个错误"没有值给一个或多个参数"

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 ;
    }
}

一个或多个参数不赋值

我没有使用mySQL很多,但我很确定你不需要一个OleDbType.VarChar参数。我还没见过它在MS Access之外的应用。试一试:

mySQLCommand.Parameters.AddWithValue("@Movie_ID", id);

如果失败,可以试试

mySQLCommand.Parameters.Add(new MySqlParameter("@Movie_ID", id));

mySQLCommand在您的代码中是MySqlCommand类型,对吗?