I added two fields to a gridview today in my asp.net c# web forms application, and I am encountering an error when I attempt to execute an update of the data. Before I added the two new fields, "doc_rvw_sub_status_set_by" and "doc_rvw_sub_status_dt_set", the update worked just fine when updating "doc_rvw_sub_status_list". The following is the error I receive:
"Must declare the scalar variable "@doc_rvw_sub_status_set_by".
I am sure that I'm missing something simple at this point, but I am unable to find the solution. Here is the code for the SQL Data Source and the Gridview:
<asp:SqlDataSource
ID="sdc_gv_rvw_sub"
runat="server"
ConflictDetection="CompareAllValues"
ConnectionString="<%$ ConnectionStrings:idrfConnectionString %>"
InsertCommand="INSERT INTO [tbl_doc_rvw_sub] ([doc_rvw_sub_by], [doc_rvw_sub_recip_list], [doc_rvw_sub_dt], [doc_rvw_sub_status_list], [doc_rvw_id_fk]) VALUES (@doc_rvw_sub_by, @doc_rvw_sub_recip_list, @doc_rvw_sub_dt, @doc_rvw_sub_status_list, @doc_rvw_id_fk)"
OldValuesParameterFormatString="original_{0}"
SelectCommand="
SELECT [doc_rvw_sub_id_pk]
, [doc_rvw_sub_by]
, [doc_rvw_sub_recip_list]
, [doc_rvw_sub_dt]
, [doc_rvw_sub_status_list]
, tsl.rvw_status
, [doc_rvw_id_fk]
, [doc_rvw_sub_due_dt]
, [doc_rvw_sub_status_set_by]
, [doc_rvw_sub_status_dt_set]
FROM [tbl_doc_rvw_sub]
LEFT JOIN tbl_status_list tsl
ON tbl_doc_rvw_sub.doc_rvw_sub_status_list=tsl.rvw_status_id_pk
WHERE ([doc_rvw_id_fk] = @doc_rvw_id_fk)"
UpdateCommand="UPDATE [tbl_doc_rvw_sub]
SET [doc_rvw_sub_status_list] = @doc_rvw_sub_status_list,
[doc_rvw_sub_status_set_by] = @doc_rvw_sub_status_set_by,
[doc_rvw_sub_status_dt_set] = @doc_rvw_sub_status_dt_set
WHERE [doc_rvw_sub_id_pk] = @original_doc_rvw_sub_id_pk">
<InsertParameters>
<asp:Parameter Name="doc_rvw_sub_by" Type="String" />
<asp:Parameter Name="doc_rvw_sub_recip_list" Type="String" />
<asp:Parameter DbType="Date" Name="doc_rvw_sub_dt" />
<asp:Parameter Name="doc_rvw_sub_status_list" Type="Int32" />
<asp:Parameter Name="doc_rvw_id_fk" Type="Int32" />
</InsertParameters>
<SelectParameters>
<asp:ControlParameter ControlID="gv_doc_rvw" Name="doc_rvw_id_fk" PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="original_doc_rvw_sub_status_list" Type="Int32" />
<asp:Parameter Name="original_doc_rvw_sub_status_set_by" Type="String" />
<asp:Parameter Name="original_doc_rvw_sub_status_dt_set" Type="DateTime" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:GridView
ID="gv_rvw_sub"
runat="server"
AllowPaging="True"
AllowSorting="True"
DataSourceID="sdc_gv_rvw_sub"
CellPadding="4"
ForeColor="#333333"
AutoGenerateColumns="False"
EmptyDataText="There are no records to display."
OnSelectedIndexChanged="gv_rvw_sub_SelectedIndexChanged">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:CommandField ShowEditButton="True" ShowSelectButton="True"></asp:CommandField>
<asp:BoundField DataField="doc_rvw_sub_id_pk" HeaderText="Submission" ReadOnly="True" InsertVisible="False" SortExpression="doc_rvw_sub_id_pk"></asp:BoundField>
<asp:BoundField DataField="doc_rvw_sub_by" HeaderText="Submitted By" SortExpression="doc_rvw_sub_by" ReadOnly="true"></asp:BoundField>
<asp:BoundField DataField="doc_rvw_sub_recip_list" HeaderText="Recipient" SortExpression="doc_rvw_sub_recip_list" ReadOnly="true" />
<asp:BoundField DataField="doc_rvw_sub_dt" HeaderText="Date Submitted" SortExpression="doc_rvw_sub_dt" DataFormatString="{0:MM/dd/yyyy}" ReadOnly="true"></asp:BoundField>
<asp:BoundField DataField="doc_rvw_sub_due_dt" HeaderText="Due Date" SortExpression="doc_rvw_sub_due_dt" DataFormatString="{0:MM/dd/yyyy}" ReadOnly="true" />
<asp:TemplateField AccessibleHeaderText="Review Status" HeaderText="Review Status" SortExpression="doc_rvw_sub_status_list">
<EditItemTemplate>
<asp:DropDownList
ID="DropDownList1"
runat="server"
AutoPostBack="True"
DataSourceID="sdc_doc_rvw_sub_status_list"
DataTextField="rvw_status"
DataValueField="rvw_status_id_pk"
AppendDataBoundItems="true"
SelectedValue='<%# Bind("doc_rvw_sub_status_list") %>'>
<asp:ListItem Value="">Please Select</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("rvw_status") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField Visible="false" DataField="doc_rvw_id_fk" HeaderText="Document ID" SortExpression="doc_rvw_id_fk" ReadOnly="true"></asp:BoundField>
<asp:TemplateField HeaderText="StatSetBy" SortExpression="doc_rvw_sub_status_set_by" Visible="false">
<EditItemTemplate>
<asp:TextBox ID="edit_doc_rvw_sub_status_set_by" runat="server" Text='<%# System.Web.HttpContext.Current.User.Identity.Name %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("doc_rvw_sub_status_set_by") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="DtStatSet" SortExpression="doc_rvw_sub_status_dt_set" Visible="false">
<EditItemTemplate>
<asp:TextBox ID="edit_doc_rvw_sub_status_dt_set" runat="server" Text='<%# DateTime.Now.ToString() %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("doc_rvw_sub_status_dt_set") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#BCC7D9" Font-Bold="true" HorizontalAlign="Center" />
<FooterStyle BackColor="#044C92" Font-Bold="True" ForeColor="#000000" />
<HeaderStyle BackColor="#044C92" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#BCC7D9" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>
I am using VS2010.
Any help is appreciated.
Thanks,
J