我无法将参数从下拉列表传递给存储过程。
存储过程:
CREATE PROCEDURE Select_Newnews
@NewsId varchar(4)
As
select * from CommentsTbl where NewsId=@NewsId
RETURN
代码背后:
protected void Button1_Click(object sender, EventArgs e)
{
SqlParameter sp1 = new SqlParameter();
c.com.Parameters.AddWithValue("@NewsId", NewsIdDropDownList.SelectedItem.Text);
CommentGridView.DataSource = c.GetDataset("Select_Newnews");
CommentGridView.DataBind();
}
我收到过程或函数'Select_Newnews'期望参数'@NewsId'的错误,该参数未提供。
请帮帮我
答案 0 :(得分:3)
如果您将null
作为参数值发送,通常会发生这种情况。确保该值不是null
,并且它应该按预期工作。例如,您可以尝试这样的事情:
object value = NewsIdDropDownList.SelectedItem.Text != null
? NewsIdDropDownList.SelectedItem.Text
: DBNull.Value;
c.com.Parameters.AddWithValue("@NewsId", value);
如果NewsIdDropDownList.SelectedItem.Text
为null
值,则会将参数正确地发送到过程(通过null
替换DBNull.Value
。