-1

I use below code :

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

but when i press update button occur below error

An SqlParameter with ParameterName 'name' is not contained by this SqlParameterCollection.

Termininja
  • 6,620
  • 12
  • 48
  • 49
SajjadZare
  • 2,487
  • 4
  • 38
  • 68

2 Answers2

2

You are missing the @ symbol. The following should work :

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

For more information on using parameters with sqldatasource check this out.

Ruben
  • 699
  • 2
  • 16
  • 36
1

The problem could be that there is not a parameter in your parameter list with the name "name".

Try:

e.Command.Parameters.Add(new SqlParameter("name", "bvhjbjh"));
Shiraz Bhaiji
  • 64,065
  • 34
  • 143
  • 252