调用了存储过程xx,通过命令和参数编辑器刷新参数,参数列表中有4个参数,存储过程中也是4个参数,且顺序一致,为什么还出现“为过程或函数xx指定的参数太多”的提示?
用Google搜了一下,好像很多人都被这个问题干扰,但没搜到解决办法。

解决方案 »

  1.   

    通过向导直接配置的,然后后台直接赋值,根本没有再用代码增加参数。为了清晰一些,我贴出的脚本把Insert和Delete删掉了。
    <asp:SqlDataSource ID="SqlClassSource" runat="server" ConnectionString="<%$ ConnectionStrings:AffairCounterplanConnectionString %>"
    SelectCommand="SELECT [Class2ID], [Class2Name], [Class1ID] FROM [Class2] WHERE ([Class1ID] = @Class1ID) ORDER BY [Class2ID]" 
    UpdateCommand="Class2_Update" 
    ConflictDetection="CompareAllValues" 
    OldValuesParameterFormatString="original_{0}" 
    UpdateCommandType="StoredProcedure"><SelectParameters>
    <asp:ControlParameter ControlID="Class1" DefaultValue="-1" Name="Class1ID" PropertyName="SelectedValue"  Type="Int32" />
    </SelectParameters><UpdateParameters>
                        <asp:Parameter Name="Class1ID" Type="Int32" />
                        <asp:Parameter Name="Class2ID" Type="Int32" />
                        <asp:Parameter Name="Class2IDNew" Type="Int32" />
                        <asp:Parameter Name="Class2Name" Type="String" />
    </UpdateParameters>
    </asp:SqlDataSource>