Click here to Skip to main content
15,894,343 members
Please Sign up or sign in to vote.
1.00/5 (3 votes)
See more:
XML
I am using Grid view For Display Data items I want to show, edit, update, delete and cancel items in grid view using single stored procedure.
Right now I am performing all these tasks with separate stored procedure.
I am making Display, update and Delete stored procedure separate but now i want to perform using single stored procedure.
I have a db manager class.
**Below is my code please modify this code how can I do that.**

**.aspx code**

    <asp:GridView ID="grd_category" Width="100%" runat="server" AutoGenerateColumns="false"
        EmptyDataRowStyle-CssClass="grid_error" EmptyDataText="No data available" GridLines="None" OnRowDeleting="grddata_RowDeleting" OnRowEditing="grddata_RowEditing" OnRowCommand="grddata_RowCommand"
        OnRowDataBound="grddata_RowDataBound" DataKeyNames="category_id"
        onrowcancelingedit="grd_category_RowCancelingEdit"
        onrowupdating="grd_category_RowUpdating" ShowHeaderWhenEmpty="True"
        AllowPaging="True" onpageindexchanging="grd_category_PageIndexChanging"
        PageSize="25">
        <Columns>
        <asp:TemplateField HeaderText="Category Name" HeaderStyle-CssClass="field_title_wraper"
        ItemStyle-CssClass="value_wraper" ItemStyle-Width="20%">
        <ItemTemplate>
          <%#Eval("txt_category_name")%>
        </ItemTemplate>
        <EditItemTemplate>
        <div style="float: left;">
          <asp:TextBox ID="txt_category_name" runat="server" Text='<%#Eval("txt_category_name") %>'></asp:TextBox>
        </div>
        </EditItemTemplate>
        </asp:TemplateField>
        <%-- <asp:TemplateField HeaderText="Title" HeaderStyle-CssClass="field_title_wraper" ItemStyle-CssClass="value_wraper" ItemStyle-Width="40%">
        <ItemTemplate>
          <%#Eval("txt_title")%>
        </ItemTemplate>
        <EditItemTemplate>
          <div style="float: left;">
          <asp:TextBox ID="txt_title" runat="server" Text='<%#Eval("txt_title") %>'></asp:TextBox>
          </div>
        </EditItemTemplate>
        </asp:TemplateField>--%>
        <%-- <asp:TemplateField HeaderText="Description" HeaderStyle-CssClass="field_title_wraper"
        ItemStyle-CssClass="value_wraper" ItemStyle-Width="25%">
        <ItemTemplate>
          <%#Eval("txt_description")%>
        </ItemTemplate>
        <EditItemTemplate>
           <div style="float: left">
           <asp:TextBox ID="txt_description" runat="server" Text='<%#Eval("txt_description") %>'></asp:TextBox>
            </div>
        </EditItemTemplate>
        </asp:TemplateField>--%>
        <asp:TemplateField HeaderText="Action" HeaderStyle-CssClass="field_title_rightbdr_none_wraper" >
    ItemStyle-CssClass="value_wraper" ItemStyle-Width="5%">
    <ItemTemplate>
         <div class="city_icon_wraper">
         <div class="action_img_view_icon">
         <asp:ImageButton ID="imgbtnedit" runat="server" ImageUrl="images/edit_icon.png" CommandName="edit"/>
          </div>
          <div class="action_bdr">
          <img width="2" height="34" src="images/action_bdr.jpg" alt=""></div>
          <div class="action_icon">
          <asp:LinkButton ID="lnkBtnDelete" runat="server" ToolTip="Click To Delete" CommandName="Delete" class="ask" CommandArgument='<%#DataBinder.Eval(Container.DataItem, "category_id")%>'>
          <img src="images/delete_icon.png" alt="" >
          </asp:LinkButton>
          </div>
          </div>
          </ItemTemplate>
    <ItemStyle HorizontalAlign="Center" />
    <EditItemTemplate>
          <asp:ImageButton ID="imgbtnupdate" runat="server" ImageUrl="~/Admin/images/approved_icon - Copy.png" CommandName="update" />
          <asp:ImageButton ID="imgbtncancel" runat="server" ImageUrl="~/Admin/images/close_btn.png" CommandName="cancel" />
    </EditItemTemplate>
    <%-- <ItemStyle HorizontalAlign="Center" />
    <EditItemTemplate>
          <asp:ImageButton ID="imgbtnupdate" runat="server" ImageUrl="~/img/update.ico" CommandName="update" Height="30" Width="30"  />
           <asp:ImageButton ID="imgbtncancel" runat="server" ImageUrl="~/img/cancel.ico" CommandName="cancel" Height="30" Width="30" />
    </EditItemTemplate>--%>
    </asp:TemplateField>
    </Columns>
    </asp:GridView>


**Property Layer**

    public class PropertyCategory
        {
            private Int64 _category_id;
            private string _txt_category_name;
            public Int64 id
            {
                get { return _category_id; }
                set { _category_id = value; }
            }
            public string txt_category_name
            {
                get { return _txt_category_name; }
                set { _txt_category_name = value; }
            }

        }

**Data layer**

    public static int DataAddCategory(PropertyCategory objcat)
            {
                return DBManager.ExecuteNonQuery("spAddCategory", objcat.txt_category_name);
            }
            public static DataSet datafillcategory()
            {
                return DBManager.ExecuteDataset("spFillCategory");
            }
            public static int DataDeleteCategory(PropertyCategory objcat)
            {
               return DBManager.ExecuteNonQuery("spDeleteCategory", objcat.id);

            }
            public static int DataUpdateCategory(PropertyCategory objcat)
            {
                //return DBManager.ExecuteNonQuery("spUpdateCategory", objcat.id, objcat.txt_category_name, objcat.txt_title, objcat.txt_description);
                return DBManager.ExecuteNonQuery("spUpdateCategory", objcat.id, objcat.txt_category_name);
            }

**Business Layer**

    public class BusinessCategory
        {
            public static int BusinessAddCategory(PropertyCategory objcat)
            {
                return DataCategoryTable.DataAddCategory(objcat);
            }
            public static DataSet BusinessFillCategory()
            {
                return DataCategoryTable.datafillcategory();
            }
            public static int BusinessDeleteCategory(PropertyCategory objcat)
            {
                return DataCategoryTable.DataDeleteCategory(objcat);

            }
            public static int BusinessUpdateCategory(PropertyCategory objcat)
            {
                return DataCategoryTable.DataUpdateCategory(objcat);

            }
    }
Posted
Updated 25-Nov-13 18:52pm
v3

1 solution

If you looking for solution where these operations should happen with one SP means, you have to send a flag to SP weather it is Add,Delete or Update.

In your "DBManager.ExecuteNonQuery()" method there will be option to pass the SQLParameter, there you have to pass flag. Based on the flag you have perform the operation.

ExecuteNonQuery(CommandType cmdType, string cmdText, object[] cmdParms)
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900