我使用下面的代码:
的.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。
答案 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"));