0
我正在使用GridView並啓用編輯和更新,並使用UpdateCommand
中的UpdateCommand
來更新數據。但每當我嘗試更新記錄,我得到當我使用SqlDataSource的UpdateCommand時,函數或過程指定的參數太多
函數或過程有太多的參數指定的例外
代碼:
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class Manager_UnApprovedActivites : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string id = GridView1.DataKeys[e.RowIndex].Value.ToString();
string Appproval = ((CheckBox)GridView1.Rows[e.RowIndex].Cells[9].Controls[0]).Text;
SqlDataSource1.UpdateParameters["id"].DefaultValue = id.ToString();
SqlDataSource1.UpdateParameters["approval"].DefaultValue = Appproval.ToString();
SqlDataSource1.Update();
}
}
ASP.net:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UnApprovedActivites.aspx.cs" Inherits="Manager_UnApprovedActivites" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="AcitivityId" DataSourceID="SqlDataSource1"
Height="273px" Width="976px" AutoGenerateEditButton ="True">
<Columns>
<asp:BoundField DataField="AcitivityId" HeaderText="AcitivityId" InsertVisible="False" ReadOnly="True" SortExpression="AcitivityId" />
<asp:BoundField DataField="ActiviityName" HeaderText="ActiviityName" SortExpression="ActiviityName" />
<asp:BoundField DataField="ActivityLocation" HeaderText="ActivityLocation" SortExpression="ActivityLocation" />
<asp:BoundField DataField="ActivityStartDate" HeaderText="ActivityStartDate" SortExpression="ActivityStartDate" />
<asp:BoundField DataField="ActivityDueDate" HeaderText="ActivityDueDate" SortExpression="ActivityDueDate" />
<asp:BoundField DataField="ActivityDescription" HeaderText="ActivityDescription" SortExpression="ActivityDescription" />
<asp:BoundField DataField="ActvityTypeId" HeaderText="ActvityTypeId" SortExpression="ActvityTypeId" />
<asp:BoundField DataField="BarchId" HeaderText="BarchId" SortExpression="BarchId" />
<asp:CheckBoxField DataField="Approval(Authority)" HeaderText="Approval(Authority)" SortExpression="Approval(Authority)" />
<asp:CheckBoxField DataField="ApprovalManager" HeaderText="ApprovalManager" SortExpression="ApprovalManager" />
<asp:BoundField DataField="DateAdded" HeaderText="DateAdded" SortExpression="DateAdded" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:WCA DatabaseConnectionString2 %>"
SelectCommand="SELECT * FROM [Activities]"
UpdateCommand="ApproveActivity"
UpdateCommandType="StoredProcedure">
<UpdateParameters>
<asp:Parameter Name="id" Type="Int64" />
<asp:Parameter Name="approval" Type="Boolean" />
</UpdateParameters>
</asp:SqlDataSource>
</form>
</body>
</html>
http://forums.asp.net/t/1000526.aspx/1問到:_make確保您有相同paramList聲明在部分作爲SP的paramList_。 –
publicgk
2013-04-20 10:19:20
「ApproveActivity」存儲過程是什麼樣的?需要什麼參數? 。 – 2013-04-20 10:21:23
爲ApprvedActivity ID BIGINT, 審批位 作爲 UPDATE [WCA數據庫] [DBO]代碼[活動] SET ApprovalManager =批准 WHERE AcitivityId = ID – Scarnet 2013-04-20 10:48:40