前台页面已经指定了一个数据源    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
        SelectCommand="select top 1 * from employees " 
        
        UpdateCommand="UPDATE Employees SET LastName = @LastName WHERE (EmployeeID = @EmployeeID)" 
        >
        <UpdateParameters>
            <asp:Parameter Name="LastName" Type="String" />
            <asp:Parameter Name="EmployeeID" Type="Int32" />
        </UpdateParameters>    </asp:SqlDataSource>然后想要在c#后台手动对@LastName , @EmployeeID这两个参数赋值,不知道怎么赋值,希望指定一下。另外如果我不用参数的形式赋值,直接在后台写sql语句是可以的SqlDataSource1.UpdateCommand = "UPDATE Employees SET LastName = '" + "aaa'" + " WHERE EmployeeID = " + EmployeeID;
SqlDataSource1.Update();

解决方案 »

  1.   

    SqlDataSource1.UpdateCommand的参数集合中添加需要的参数并赋值
      

  2.   

     SqlDataSource1.UpdateParameters.Add(new Parameter("EmployeeID",System.Data.DbType.Int32,));
    SqlDataSource1.UpdateParameters.Add(new Parameter("@LastName",System.Data.DbType.Byte));加了也没什么用,不会赋值,
    SqlDataSource1.UpdateParameters["@LastName "]这种赋值好像只支持string类型的,其他类型都没有
      

  3.   

    最原始的SQL不好用吗?
    怎么喜欢用这种 太死板了。。
      

  4.   

    <asp:Parameter Name="EmployeeID" Type="Int32" />
    注意这个的数据类型