我有一个更新表的过程,将从gridview中的webform调用该过程。 我一直在 '过程或函数FraudAlertUpdateMobileNo指定了太多参数' 但是我传递了正确数量的参数 以下是我的数据源代码:
<asp:SqlDataSource ID="ConfigByAcct" runat="server" ConnectionString="<%$ ConnectionStrings:FraudAlertsConnectionString %>"
SelectCommand="FraudAlertsConfigAcct" SelectCommandType="StoredProcedure"
UpdateCommand="FraudAlertUpdateMobileNo" UpdateCommandType="StoredProcedure" >
<SelectParameters>
<asp:ControlParameter ControlID="inst" Name="INSTID" PropertyName="SelectedValue" Type="Int32" />
<asp:ControlParameter ControlID="txtValue" Name="ACCTNUM" PropertyName="Text" Type="Int64" />
</SelectParameters>
<UpdateParameters>
<asp:ControlParameter ControlID="inst" Name="INSTID" PropertyName="SelectedValue" Type="Int32" />
<asp:Parameter Type ="Int64" Name ="ACCTNUM" />
<asp:Parameter Type ="String" Name ="SMSAlertTo" />
<asp:Parameter Type ="String" Name ="FullName" />
<asp:Parameter Type ="String" Name ="Application" DefaultValue="AlertWeb" />
</UpdateParameters>
</asp:SqlDataSource>
以下是我的程序代码
CREATEPROCEDURE [dbo].[FraudAlertUpdateMobileNo](
@InstID int,
@ACCTNUM bigint,
@MobileNo varchar(500),
@FullName varchar(250),
@Application varchar(50)
)
AS
答案 0 :(得分:0)
也许您可以使用SqlDataSource的更新并检查参数
protected void SqlDataSource1_Updating(object sender, SqlDataSourceCommandEventArgs e)
{
int x = e.Command.Parameters.Count;
}
答案 1 :(得分:0)
<asp:Parameter Type ="String" Name ="SMSAlertTo" />
//错误在这里。它应该是<asp:Parameter Type ="String" Name ="MobileNo"/>
答案 2 :(得分:0)
确保网格视图具有DataKeyNames属性
<asp:GridView ID="GridView1" DataKeyNames="ACCTNUM" >