我在sqlDataSource中的update命令中使用的参数出错

时间:2011-12-28 10:37:55

标签: asp.net sqldatasource

我使用下面的代码:

的.aspx

<asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ConnectionStrings:Con %>" runat="server" 
        SelectCommand="select * from DorePayvar" OnSelecting="selecting" 
        UpdateCommand="update DorePayvar set Name=@name" OnUpdating="SqlDataSource1_Updating">
        <UpdateParameters>
            <asp:Parameter Type="String" Name="name" DefaultValue="Sajjad" />
        </UpdateParameters>
        </asp:SqlDataSource> 

的.cs

protected void SqlDataSource1_Updating(object sender, SqlDataSourceCommandEventArgs e)
    {
        e.Command.Parameters["name"].Value = "bvhjbjh";   
    }

但是当我按下更新按钮时出现错误

  

此参数不包含带有ParameterName'name'的SqlParameter   SqlParameterCollection。

2 个答案:

答案 0 :(得分:2)

你错过了@符号。 以下应该有效:

protected void SqlDataSource1_Updating(object sender, SqlDataSourceCommandEventArgs e)
{
    e.Command.Parameters["@name"].Value = "bvhjbjh";   
}

有关使用sqldatasource check this out的参数的更多信息。

答案 1 :(得分:1)

问题可能是参数列表中没有名称为&#34; name&#34;的参数。

尝试:

e.Command.Parameters.Add(new SqlParameter("name", "bvhjbjh"));