2011-12-28 38 views
0

使用我使用以下代碼:錯誤參數i的更新命令中的SqlDataSource

的.aspx

<asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ConnectionStrings:Con %>" runat="server" 
     SelectCommand="select * from DorePayvar" OnSelecting="selecting" 
     UpdateCommand="update DorePayvar set [email protected]" 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"; 
    } 

但是當我按下更新按鈕發生錯誤

此參數名稱'name'的SqlParameter不包含在此 SqlParameterCollection中。

回答

2

您缺少@符號。 下面應該工作:

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

欲瞭解更多關於使用參數與SqlDataSource的check this out

+0

太謝謝你了。 – SajjadZare 2011-12-28 10:44:15

1

問題可能是您的參數列表中沒有名稱爲「name」的參數。

嘗試:

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