Ошибка в параметре, который я использую в команде обновления в sqlDataSource - PullRequest
0 голосов
/ 28 декабря 2011

Я использую ниже код:

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

но при нажатии кнопки обновления происходит ошибка ниже

SqlParameter с именем_параметра 'name' не содержится в этом SqlParameterCollection.

Ответы [ 2 ]

2 голосов
/ 28 декабря 2011

Вам не хватает символа @. Должно работать следующее:

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

Для получения дополнительной информации об использовании параметров с sqldatasource проверьте это .

1 голос
/ 28 декабря 2011

Проблема может заключаться в том, что в вашем списке параметров нет параметра с именем "name".

Попытка:

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