当前位置: 代码迷 >> ASP.NET >> GridView更新时“为过程或函数指定的参数太多。”,该如何处理
  详细解决方案

GridView更新时“为过程或函数指定的参数太多。”,该如何处理

热度:1560   发布时间:2013-02-25 00:00:00.0
GridView更新时“为过程或函数指定的参数太多。”
存储过程:
Create Procedure euAllStuff
(@original_WorkID int,
@original_ASID int,
@ASID int,
@Name varchar(40),
@Spec varchar(255),
@Unit varchar(20),
@Number varchar(40))
As
.....

GridView绑定:
  <UpdateParameters>
  <asp:Parameter Name="original_WorkID" Type="Int32" />
  <asp:Parameter Name="original_ASID" Type="Int32" />
  <asp:Parameter Name="ASID" Type="Int32" />
  <asp:Parameter Name="Name" Type="String" />
  <asp:Parameter Name="Spec" Type="String" />
  <asp:Parameter Name="Unit" Type="String" />
  <asp:Parameter Name="Number" Type="String" />
  </UpdateParameters>


------解决方案--------------------------------------------------------
是否有空的string?
------解决方案--------------------------------------------------------
在GridView的updating事件和datasource的updating事件中设置断点,看看参数的情况再找问题,就这样是看不出来的
------解决方案--------------------------------------------------------
设置断点调试,对一对参数列表,应该就可以找到问题的
------解决方案--------------------------------------------------------
对,可能是参数有问题,设置断点

------解决方案--------------------------------------------------------
以前,我同事出现过这个问题。后来解决了,原来是,在存储过程中有6个参数,但是代码中为Command对象指定了7个参数。

所以,楼主可能是参数个数不同造成的。
------解决方案--------------------------------------------------------
检查存储过程里面的参数与你在程序里传进去的参数是否一致.

90%是这个问题.
------解决方案--------------------------------------------------------
fgsdfsdfsdfsdfsdf[img=http://rgtg][/img]
------解决方案--------------------------------------------------------
As 
..... 
应该是后面的update的语句问题。看看是不是多于7个参数。