我得到過程或函數的參數太多指定
過程或函數「myStoreProcNameHere」已指定的參數太多錯誤。
下面是我的存儲過程和SqlDataSource
。我正在使用GridView來編輯數據。
幫助? :(
存儲過程:
ALTER PROCEDURE UpdateTwoTables
(@ID int,
@UserID varchar(10),
@Pass varchar(50),
@Enabled int,
@Permission int,
@Rank int,
@FName varchar(50),
@LName varchar(50),
@Phone varchar(50),
@Email1 varchar(50),
@Email2 varchar(50)
)
AS
BEGIN TRANSACTION
UPDATE tbl_user_login
SET UserID = @UserID, Pass = @Pass,
Enabled = @Enabled, Permission = @Permission,
Rank = @Rank
WHERE ID = @ID
IF @@ERROR <> 0
BEGIN
ROLLBACK
RETURN
END
UPDATE tbl_user_profile
SET FName = @FName, LName = @LName,
Phone = @Phone, Email1 = @Email1, Email2 = @Email2
WHERE ID = @ID
IF @@ERROR <> 0
BEGIN
ROLLBACK
RETURN
END
COMMIT
ASP.NET SqlDataSource
:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:DBConnString %>"
SelectCommand="SELECT tbl_user_login.ID, tbl_user_login.UserID, tbl_user_login.Pass, tbl_user_login.Enabled, tbl_user_login.Permission, tbl_user_login.Rank, tbl_user_profile.ID AS Expr1, tbl_user_profile.FName,
tbl_user_profile.LName, tbl_user_profile.Phone, tbl_user_profile.Email1, tbl_user_profile.Email2 FROM tbl_user_login INNER JOIN tbl_user_profile ON tbl_user_login.ID = tbl_user_profile.ID"
UpdateCommand="UpdateTwoTable" UpdateCommandType="StoredProcedure">
<UpdateParameters>
<asp:Parameter Name="ID" />
<asp:Parameter Name="UserID"/>
<asp:Parameter Name="Pass"/>
<asp:Parameter Name="Enabled"/>
<asp:Parameter Name="Permission"/>
<asp:Parameter Name="Rank"/>
<asp:Parameter Name="FName"/>
<asp:Parameter Name="LName"/>
<asp:Parameter Name="Phone"/>
<asp:Parameter Name="Email1"/>
<asp:Parameter Name="Email2"/>
</UpdateParameters>
</asp:SqlDataSource>
@Abe,Nope。不起作用:( – 2011-04-22 15:42:51
看看這個:[如何解決'程序或函數具有太多的參數指定'](http://www.whitworth.org/2006/01/16/how-to-troubleshoot -procedure-or-function-has-many-arguments-specified-in-aspnet-20 /) – 2011-04-22 15:42:53
@JordanArron即使鏈接不像它剛纔陳述的那樣鏈接被破壞和無用「這通常意味着它說了什麼,你的更新,刪除或插入命令試圖傳遞更多的參數比存儲的「 – Thronk 2014-07-22 14:19:06