Wednesday, 19 April 2017

Insert, Update, Delete Data in Grid View Using Asp Panel on a single form


Database:-


create table StudentDetails
(
Id int identity(1,1) primary key,
Name varchar(20),
contact varchar(15),
email varchar(50),
class varchar(10)
)

create proc insert_StudentDetails_sp
@Name varchar(20),
@contact varchar(15),
@email varchar(50),
@class varchar(10)
as
begin
insert into  StudentDetails(Name,contact,email,class) values(@Name,@contact,@email,@class)
end

select * from StudentDetails

create proc get_student_data
as
begin
select * from StudentDetails
end

create proc update_student_sp
@Id int,
@Name varchar(20),
@contact varchar(15),
@email varchar(50),
@class varchar(10)
as
begin
update StudentDetails set
Name=@Name,
contact=@contact,
email=@email,
class=@class
where Id = @Id
end

create proc delete_student_sp
@id int
as
begin
delete from StudentDetails where Id=@id
end





Web.Config File



<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <appSettings>
    <add key="constr" value="Data source=*******; Initial catalog=******; user id=sa; password=*****;"/>
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5.2"/>
    <httpRuntime targetFramework="4.5.2"/>
  </system.web>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs"
        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
    </compilers>
  </system.codedom>
</configuration>

BusinessLayer


using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace GridViewPost
{
    public class BusinessLayer
    {
        string constring = ConfigurationManager.AppSettings["constr"].ToString();
        public void Add_Student(string name, string contact,string email,string student_class)
        {
            using (SqlConnection con = new SqlConnection(constring))
            using (SqlCommand cmd = new SqlCommand("insert_StudentDetails_sp", con))
            {
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Name",name);
                cmd.Parameters.AddWithValue("@contact", contact);
                cmd.Parameters.AddWithValue("@email", email);
                cmd.Parameters.AddWithValue("@class", student_class);
                con.Open();
                cmd.ExecuteNonQuery();
            }
        }

        public DataTable get_Student_data()
        {
            using (SqlConnection con = new SqlConnection(constring))
            using (SqlCommand cmd = new SqlCommand("get_student_data", con))
            {
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                DataTable dt = new DataTable();
                SqlDataAdapter adapt = new SqlDataAdapter(cmd);
                adapt.Fill(dt);
                return dt;
            }
        }

        public void update_Student(int id,string name, string contact, string email, string student_class)
        {
            using (SqlConnection con = new SqlConnection(constring))
            using (SqlCommand cmd = new SqlCommand("update_student_sp", con))
            {
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Id", id);
                cmd.Parameters.AddWithValue("@Name", name);
                cmd.Parameters.AddWithValue("@contact", contact);
                cmd.Parameters.AddWithValue("@email", email);
                cmd.Parameters.AddWithValue("@class", student_class);
                con.Open();
                cmd.ExecuteNonQuery();
            }
        }

        public void delete_Student(int id)
        {
            using (SqlConnection con = new SqlConnection(constring))
            using (SqlCommand cmd = new SqlCommand("delete_student_sp", con))
            {
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Id", id);
                con.Open();
                cmd.ExecuteNonQuery();
            }
        }
    }
}


StudentDetails.aspx



<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StudentDetails.aspx.cs" Inherits="GridViewPost.StudentDetails" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Panel runat="server" ID="pnl_insertdata">
        <table>
            <tr>
                <td>
                    Name
                </td>
                <td>
                    <asp:TextBox ID="txt_name" runat="server"></asp:TextBox>
                </td>
            </tr>
             <tr>
                <td>
                    Contact
                </td>
                <td>
                    <asp:TextBox ID="txt_contact" runat="server"></asp:TextBox>
                </td>
            </tr>
             <tr>
                <td>
                    Email
                </td>
                <td>
                    <asp:TextBox ID="txt_email" runat="server"></asp:TextBox>
                </td>
            </tr>
             <tr>
                <td>
                    Class
                </td>
                <td>
                    <asp:TextBox ID="txt_class" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>

                </td>
                <td>
                    <asp:Button ID="btn_submit" runat="server" Text="Submit" OnClick="btn_submit_Click" />
                </td>
            </tr>
        </table>
    </asp:Panel>
    </div>


         <div>
    <asp:Panel runat="server" ID="pnl_update_student">
        <table>
            <tr>
                <td>
                    Name
                </td>
                <td>
                    <asp:TextBox ID="txt_up_name" runat="server"></asp:TextBox>
                </td>
            </tr>
             <tr>
                <td>
                    Contact
                </td>
                <td>
                    <asp:TextBox ID="txt_up_contact" runat="server"></asp:TextBox>
                </td>
            </tr>
             <tr>
                <td>
                    Email
                </td>
                <td>
                    <asp:TextBox ID="txt_up_email" runat="server"></asp:TextBox>
                </td>
            </tr>
             <tr>
                <td>
                    Class
                </td>
                <td>
                    <asp:TextBox ID="txt_up_class" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>

                </td>
                <td>
                    <asp:Button ID="btn_update" runat="server" Text="Update" OnClick="btn_update_Click" />
                </td>
            </tr>
        </table>
    </asp:Panel>
    </div>


        <asp:HiddenField ID="hfid" runat="server" />

        <div>
            <asp:Panel runat="server" ID="pnl_grid">
                <asp:GridView ID="grd_st_data" runat="server" AutoGenerateColumns="false" OnSelectedIndexChanged="grd_st_data_SelectedIndexChanged" OnRowDeleting="grd_st_data_RowDeleting">
                    <Columns>
                        <asp:BoundField HeaderText="Id" DataField="Id" />
                        <asp:BoundField HeaderText="Name" DataField="Name" />
                        <asp:BoundField HeaderText="Contact" DataField="contact" />
                        <asp:BoundField HeaderText="Email" DataField="email" />
                        <asp:BoundField HeaderText="Class" DataField="class" />
                        <asp:TemplateField HeaderText="Update">
                            <ItemTemplate>
                                <asp:Button ID="btn_update" runat="server" CommandName="Select" Text="Update"/>
                            </ItemTemplate>
                        </asp:TemplateField>
                          <asp:TemplateField HeaderText="Delete">
                            <ItemTemplate>
                                <asp:Button ID="btn_delete" runat="server" CommandName="Delete" Text="Delete" OnClientClick="return confirm('Confirm Delete')" />
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>
            </asp:Panel>
        </div>
    </form>
</body>
</html>


StudentDetails.aspx.cs



using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace GridViewPost
{
    public partial class StudentDetails : System.Web.UI.Page
    {
        BusinessLayer objbusiness = new BusinessLayer();
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                grid_bind();
            }
            pnl_insertdata.Visible = true;
            pnl_grid.Visible = true;
            pnl_update_student.Visible = false;
        }
        public void grid_bind()
        {
            DataTable dt = objbusiness.get_Student_data();
            grd_st_data.DataSource = dt;
            grd_st_data.DataBind();
        }
        protected void btn_submit_Click(object sender, EventArgs e)
        {
            string name = txt_name.Text;
            string contact = txt_contact.Text;
            string email = txt_email.Text;
            string st_class = txt_class.Text;
            objbusiness.Add_Student(name, contact, email, st_class);
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "validation", "alert('Insert Successfully')", true);
            txt_name.Text="";
            txt_contact.Text="";
            txt_email.Text="";
            txt_class.Text="";
            grid_bind();
            pnl_update_student.Visible = false;
        }
        
        protected void grd_st_data_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow row = grd_st_data.SelectedRow;
            Session["id"] = row.Cells[0].Text;
            txt_up_name.Text = row.Cells[1].Text;
            txt_up_contact.Text = row.Cells[2].Text;
            txt_up_email.Text = row.Cells[3].Text;
            txt_up_class.Text = row.Cells[4].Text;
            pnl_insertdata.Visible = false;
            pnl_update_student.Visible = true;
            pnl_grid.Visible = true;
            grid_bind();
        }

        protected void btn_update_Click(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(Session["id"]);
            string name = txt_up_name.Text;
            string contact = txt_up_contact.Text;
            string email = txt_up_email.Text;
            string st_class = txt_up_class.Text;
            objbusiness.update_Student(id,name, contact, email, st_class);
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "validation", "alert('Update Successfully')", true);
            pnl_update_student.Visible = false;
            grid_bind();
        }

        protected void grd_st_data_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int id = Convert.ToInt32(grd_st_data.Rows[e.RowIndex].Cells[0].Text);
            objbusiness.delete_Student(id);
            grid_bind();
            pnl_update_student.Visible = false;
        }
    }
}























No comments:

Post a Comment

Insert, Delete, Update Using Entity Framework and LINQ in ASP.NET 1> Create Database First 2> Create Table 3> Add ADO...