I want to update the record of DetailsView, this is my code, it seems
quite good to me but when I click on update button an error occurs
like “SP require too many parameter”, Actualy out of these 12
parameters, I only want to update 8, that is why I have written
ReadOnly=”true” with remaining four parameters.
--------------------------Here’s my
DetailsView-------------------------
<asp:DetailsView ID="DV" DataKeyNames="CompId"
AutoGenerateEditButton="true" runat="server" AutoGenerateRows="False"
DataSourceID="DS" >
<Fields>
<asp:BoundField DataField="ComplaintNo" HeaderText="Complaint No"
ReadOnly="true" />
<asp:BoundField DataField="ComplainerName" HeaderText="Complainer
Name" />
<asp:BoundField DataField="ComplainerPhone" HeaderText="Complainer
Phone" />
<asp:BoundField DataField="Side" HeaderText="Side" />
<asp:BoundField DataField="Problem" HeaderText="Problem" />
<asp:BoundField DataField="Solution" HeaderText="Solution" />
<asp:BoundField DataField="LaborName" HeaderText="Labor Name"
ReadOnly="true" />
<asp:BoundField DataField="LaborDetail" HeaderText="LaborDetail" />
<asp:BoundField DataField="ComplaintTime" HeaderText="Complaint
Time" ReadOnly="true" />
<asp:BoundField DataField="CloseTime" HeaderText="Delivered Time"
ReadOnly="true" />
<asp:BoundField DataField="Status" HeaderText="Status" />
<asp:CheckBoxField DataField="IsDeleted" HeaderText="Rec Deleted" />
</Fields>
</asp:DetailsView>
<asp:SqlDataSource ID="DS" runat="server" ConnectionString="<%$
ConnectionStrings:CS %>"
SelectCommand="UDSP_VCD" SelectCommandType="StoredProcedure"
UpdateCommand="UDSP_UCD" UpdateCommandType="StoredProcedure" >
<SelectParameters>
<asp:QueryStringParameter Name="CompId" QueryStringField="CId"
Type="Int64" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="CompId" Type="Int64" />
<asp:Parameter Name="ComplainerName" Type="String" />
<asp:Parameter Name="ComplainerPhone" Type="String" />
<asp:Parameter Name="Side" Type="String" />
<asp:Parameter Name="Problem" Type="String" />
<asp:Parameter Name="Solution" Type="String" />
<asp:Parameter Name="LaborDetail" Type="String" />
<asp:Parameter Name="Status" Type="String" />
<asp:Parameter Name="IsDeleted" Type="Boolean" />
</UpdateParameters>
</asp:SqlDataSource>
-----------------------------And here is my Update stored
procedure----------------------------
CREATE PROCEDURE [dbo].[UDSP_UCD]
@ComplaintId bigint,
@ComplainerName varchar(20),
@ComplainerPhone varchar(20),
@Problem varchar(1000),
@Side varchar(20),
@Solution varchar(1000),
@Status varchar(100),
@LaborDetail varchar(500),
@IsDeleted bit
AS
UPDATE [dbo].[Complaint]
SET
[ComplainerName] = @ComplainerName,
[ComplainerPhone] = @ComplainerPhone,
[Problem] = @Problem,
[Side] = @Side,
[Solution] = @Solution,
[Status] = @Status,
[LaborDetail] = @LaborDetail,
[IsDeleted] = @IsDeleted
WHERE
[ComplaintId] = @ComplaintId