Note that there are some explanatory texts on larger screens.

plurals
  1. POUpdating gridview with SqlDataSource in asp.net
    primarykey
    data
    text
    <p>i want to update the records from the gridview using <code>SqlDataSource</code>, here is what i am doing.<br> below is my gridview markup</p> <pre><code>&lt;asp:GridView ID="grdManageFaculties" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataSourceID="LocalServerDataSource" AutoGenerateDeleteButton="true" AutoGenerateEditButton="true" Width="100%" OnRowUpdating="grdManageFaculties_RowUpdating"&gt; &lt;Columns&gt; &lt;asp:TemplateField HeaderText="MANAGE"&gt; &lt;ItemTemplate&gt; &lt;asp:LinkButton ID="lnkEdit" runat="server" CommandName="Edit" Text="Edit"&gt;&lt;/asp:LinkButton&gt; &lt;asp:LinkButton ID="lnkDelete" runat="server" Text="Delete"&gt;&lt;/asp:LinkButton&gt; &lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:LinkButton ID="lnkUpdate" runat="server" Text="Update"&gt;&lt;/asp:LinkButton&gt; &lt;asp:LinkButton ID="lnkCancel" runat="server" Text="Cancel"&gt;&lt;/asp:LinkButton&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="NAME"&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="lblUserName" runat="server" Text='&lt;%# Eval("UserName") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:Label ID="lblEditUserName" runat="server" Text='&lt;%# Eval("UserName") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="EMAIL"&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="lblEmail" runat="server" Text='&lt;%# Eval("Email") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:TextBox ID="txtEditEmail" runat="server" Text='&lt;%# Bind("Email") %&gt;'&gt;&lt;/asp:TextBox&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="MOBILE"&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="lblMobileNumber" runat="server" Text='&lt;%# Eval("Mobile") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:TextBox ID="txtEditMobileNumber" runat="server" Text='&lt;%# Bind("Mobile") %&gt;'&gt;&lt;/asp:TextBox&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="LOCKED"&gt; &lt;ItemTemplate&gt; &lt;asp:CheckBox ID="chkIsLocked" runat="server" Enabled="false" Checked='&lt;%# Eval("Locked") %&gt;' /&gt; &lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:CheckBox ID="chkEditIsLocked" runat="server" Checked='&lt;%# Bind("Locked") %&gt;' /&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="CREATED"&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="lblCreated" runat="server" Text='&lt;%# Eval("Created") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:Label ID="lblEditCreated" runat="server" Text='&lt;%# Eval("Created") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;/Columns&gt; &lt;/asp:GridView&gt; </code></pre> <p>below is my markup for the SqlDataSource</p> <pre><code>&lt;asp:SqlDataSource ID="LocalServerDataSource" runat="server" ConnectionString="&lt;%$ ConnectionStrings:SiteSqlServer %&gt;" SelectCommand="users_GetAllUsers" SelectCommandType="StoredProcedure" UpdateCommand="users_UpdateFaculty" UpdateCommandType="StoredProcedure"&gt; &lt;UpdateParameters&gt; &lt;asp:Parameter Name="EMAIL" Type="String" /&gt; &lt;asp:Parameter Name="ISLOCKEDOUT" Type="Boolean" /&gt; &lt;asp:Parameter Name="MOBILENUMBER" Type="Int64" /&gt; &lt;asp:Parameter Name="USERNAME" Type="String" /&gt; &lt;/UpdateParameters&gt; &lt;/asp:SqlDataSource&gt; </code></pre> <p>below is my code-behind for the Row_Updating function</p> <pre><code> protected void grdManageFaculties_RowUpdating(object sender, GridViewUpdateEventArgs e) { try { TextBox email = grdManageFaculties.Rows[e.RowIndex].FindControl("txtEditEmail") as TextBox; Label username = grdManageFaculties.Rows[e.RowIndex].FindControl("lblEditUserName") as Label; CheckBox locked = grdManageFaculties.Rows[e.RowIndex].FindControl("chkEditIsLocked") as CheckBox; TextBox mobilenumber = grdManageFaculties.Rows[e.RowIndex].FindControl("txtEditMobileNumber") as TextBox; LocalServerDataSource.UpdateParameters["EMAIL"].DefaultValue = email.Text; LocalServerDataSource.UpdateParameters["ISLOCKEDOUT"].DefaultValue = locked.Checked.ToString(); LocalServerDataSource.UpdateParameters["MOBILENUMBER"].DefaultValue = mobilenumber.Text; LocalServerDataSource.UpdateParameters["USERNAME"].DefaultValue = username.Text; LocalServerDataSource.Update(); } catch { } } </code></pre> <p>below is my Stored Procedure for Update</p> <pre><code>ALTER PROCEDURE users_UpdateFaculty @EMAIL NVARCHAR(100), @ISLOCKEDOUT BIT, @MOBILENUMBER BIGINT, @USERNAME nvarchar(100) AS BEGIN UPDATE aspnet_Users SET MOBILENUMBER=@MOBILENUMBER where USERNAME=@USERNAME UPDATE ASPNET_MEMBERSHIP SET EMAIL = @EMAIL, LOWEREDEMAIL = LOWER(@EMAIL), ISLOCKEDOUT=@ISLOCKEDOUT WHERE USERID = (SELECT USERID FROM ASPNET_USERS WHERE USERNAME=@USERNAME) END </code></pre> <p>my records in database is getting updated, but when i click on update button, i gets the below error:</p> <pre><code>Procedure or function users_UpdateFaculty has too many arguments specified. </code></pre> <p>Can anyone help me what could be causing this issue, i am using all the parameters properly.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload