Login Page Coding


Table and form design:





Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="login" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
       

   
        <asp:Label ID="Label1" runat="server" Text="User Name"></asp:Label>
&nbsp;&nbsp;&nbsp;
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <br />
        <asp:Label ID="Label2" runat="server" Text="Password"></asp:Label>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox>
        <br />
        <br />
        <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Login" />
   
       

   
    </div>
    </form>
</body>
</html>



Default.aspx.cs


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

public partial class login : System.Web.UI.Page
{
    SqlConnection con = new SqlConnection();
   
    protected void Page_Load(object sender, EventArgs e)
    {
        con.ConnectionString = ConfigurationManager.ConnectionStrings["abhishek"].ConnectionString;
        if (con.State == ConnectionState.Closed)
        {
            con.Open();
        }
    }
    private Int32 checkuser(String U, String P)
    {
        SqlCommand cmd = new SqlCommand("Logincheck",con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@Username", SqlDbType.VarChar,50).Value = U;
        cmd.Parameters.Add("@Password", SqlDbType.VarChar,50).Value = P;
        cmd.Parameters.Add("@status", SqlDbType.Int);
        cmd.Parameters["@status"].Direction = ParameterDirection.ReturnValue;
        cmd.ExecuteNonQuery();
        Int32 K = Convert.ToInt32(cmd.Parameters["@status"].Value);
        cmd.Dispose();
        return K;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Int32 d= checkuser(TextBox1.Text, TextBox2.Text);
        if (d == -1)
        {
            Label3.Text = "Wrong User";
        }
       if (d == -2)
        {
            Label3.Text = "Wrong Password";
        }
       if (d == 1)
       {
           Label3.Text = "Login Successful";
       }

    }
}

Insert, Delete and Update in Grid View

Table:

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default8.aspx.cs" Inherits="Default8" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
 
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2" ShowFooter="True" Width="596px" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowCommand="GridView1_RowCommand" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating">
            <Columns>
                <asp:TemplateField HeaderText="Empno.">
                    <EditItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Eval("eno") %>'></asp:Label>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# GetAuto() %>'></asp:Label>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("eno") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Name">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("en") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label4" runat="server" Text='<%# Eval("en") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Address">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("ed") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label5" runat="server" Text='<%# Eval("ed") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Salary">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox5" runat="server" Text='<%# Eval("es") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label6" runat="server" Text='<%# Eval("es") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Edit">
                    <EditItemTemplate>
                        <asp:LinkButton ID="LinkButton2" runat="server" CommandName="Update">Update</asp:LinkButton>
                        &nbsp;
                        <asp:LinkButton ID="LinkButton3" runat="server" CommandName="Cancel">Cancel</asp:LinkButton>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:Button ID="Button1" runat="server" CommandName="Save" Text="Save" />
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Edit">Edit</asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Delete">
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton4" runat="server" CommandName="Delete"  Text="Delete"
                        OnClientClick="return confirm('Are you sure you want to delete this record?');">Delete</asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
            <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
            <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
            <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
            <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
            <SortedAscendingCellStyle BackColor="#FFF1D4" />
            <SortedAscendingHeaderStyle BackColor="#B95C30" />
            <SortedDescendingCellStyle BackColor="#F1E5CE" />
            <SortedDescendingHeaderStyle BackColor="#93451F" />
        </asp:GridView>
        <br />
        <br />
    </div>
    </form>
</body>
</html>



Default.aspx.cs


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default8.aspx.cs" Inherits="Default8" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
    
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2" ShowFooter="True" Width="596px" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowCommand="GridView1_RowCommand" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating">
            <Columns>
                <asp:TemplateField HeaderText="Empno.">
                    <EditItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Eval("eno") %>'></asp:Label>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# GetAuto() %>'></asp:Label>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("eno") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Name">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("en") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label4" runat="server" Text='<%# Eval("en") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Address">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("ed") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label5" runat="server" Text='<%# Eval("ed") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Salary">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox5" runat="server" Text='<%# Eval("es") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label6" runat="server" Text='<%# Eval("es") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Edit">
                    <EditItemTemplate>
                        <asp:LinkButton ID="LinkButton2" runat="server" CommandName="Update">Update</asp:LinkButton>
                        &nbsp;
                        <asp:LinkButton ID="LinkButton3" runat="server" CommandName="Cancel">Cancel</asp:LinkButton>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:Button ID="Button1" runat="server" CommandName="Save" Text="Save" />
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Edit">Edit</asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Delete">
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton4" runat="server" CommandName="Delete"  Text="Delete"
                        OnClientClick="return confirm('Are you sure you want to delete this record?');">Delete</asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
            <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
            <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
            <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
            <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
            <SortedAscendingCellStyle BackColor="#FFF1D4" />
            <SortedAscendingHeaderStyle BackColor="#B95C30" />
            <SortedDescendingCellStyle BackColor="#F1E5CE" />
            <SortedDescendingHeaderStyle BackColor="#93451F" />
        </asp:GridView>
        <br />
        <br />
    </div>
    </form>
</body>
</html>


Output:



Upload file or Image and save in a folder and Display in Grid View

Default.aspx:


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="image_upload.aspx.cs" Inherits="image_upload" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
 
        <asp:FileUpload ID="FileUpload1" runat="server" Width="292px" />
&nbsp;&nbsp;&nbsp;
        <asp:Button ID="Button1" runat="server" Text="Upload" OnClick="upload"/>
        <br />
        <br />
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ShowHeader="False" CellPadding="4" ForeColor="#333333" GridLines="None">
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <Columns>
        <asp:BoundField DataField="Text" />
        <asp:ImageField DataImageUrlField="Value" ControlStyle-Height="100" ControlStyle-Width="100" >
<ControlStyle Height="100px" Width="100px"></ControlStyle>
        </asp:ImageField>
    </Columns>
            <EditRowStyle BackColor="#999999" />
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#E9E7E2" />
            <SortedAscendingHeaderStyle BackColor="#506C8C" />
            <SortedDescendingCellStyle BackColor="#FFFDF8" />
            <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
 
    </div>
    </form>
</body>
</html>


Default.aspx.cs


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

public partial class image_upload : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            gridBind();
        }
    }
    private void gridBind()
    {
        string[] filePaths = Directory.GetFiles(Server.MapPath("~/Image/"));
        List<ListItem> files = new List<ListItem>();
        foreach (string filePath in filePaths)
        {
            string fileName = Path.GetFileName(filePath);
            files.Add(new ListItem(fileName, "~/Image/" + fileName));
        }
        GridView1.DataSource = files;
        GridView1.DataBind();
    }
    protected void upload(object sender, EventArgs e)
    {
        /* This code is also good and executable don't worry about this*/
        //if (FileUpload1.HasFile)
        //{
        //    string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
        //    FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Image/") + fileName);
        //    Response.Redirect(Request.Url.AbsoluteUri);
        //}

        /* Below these two code lines are used to store the image files Inside the folder with Unique Names 
         Here Guid is used to Generate random names not duplicate every name is unique*/
        String sp = Server.MapPath("~/Image/");
        String fn = Guid.NewGuid().ToString() + FileUpload1.FileName.Substring(FileUpload1.FileName.LastIndexOf("."));
        /* Below these two code lines are used to store the image files outside the folder
         Here dot(.) is used for current folder */
        //String sp = Server.MapPath(".");
        //String fn = FileUpload1.FileName;
        
        if(sp.EndsWith("\\")==false)
        {
            sp+="\\";
        }
        sp += fn;
        FileUpload1.PostedFile.SaveAs(sp);
        Response.Write("File Uploaded Successfully into images folder");
        gridBind();
    }
}



Three tier Architecture in ASP.NET

Table:

Class File:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace nsemployees
{
    public interface intemp
    {
        Int32 eno { get; set; }
        string ename { get; set; }
        string eadd { get; set; }
        Int32 esal { get; set; }
    }
    public class clsempprp : intemp
    {
        private Int32 prveno, prvesal;
        private string prvename, prveadd;
        public string eadd
        {
            get
            {
                return prveadd;
            }

            set
            {
                prveadd = value;
            }
        }

        public string ename
        {
            get
            {
                return prvename;
            }

            set
            {
                prvename = value;
            }
        }

        public int eno
        {
            get
            {
                return prveno;

            }

            set
            {
                prveno = value;
            }
        }

        public int esal
        {
            get
            {
                return prvesal;
            }

            set
            {
                prvesal = value;
            }
        }
    }
    public abstract class clscon
    {
        protected SqlConnection con = new SqlConnection();
        public clscon()
        {
            con.ConnectionString = ConfigurationManager.ConnectionStrings["cn"].ConnectionString;

        }
   
    }
    public class clsemp:clscon
    {
        public void save_rec(clsempprp p)
        {
            if(con.State==ConnectionState.Closed)
            {
                con.Open();
            }
            SqlCommand cmd = new SqlCommand("insemp", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@eno", SqlDbType.Int).Value = p.eno;
            cmd.Parameters.Add("@en", SqlDbType.VarChar,50).Value = p.ename;
            cmd.Parameters.Add("@ed", SqlDbType.VarChar,50).Value = p.eadd;
            cmd.Parameters.Add("@es", SqlDbType.Int).Value = p.esal;
            cmd.ExecuteNonQuery();
            cmd.Dispose();
            con.Close();


        }
        public void update_rec(clsempprp p)
        {
            if(con.State==ConnectionState.Closed)
            {
                con.Open();
            }
            SqlCommand cmd = new SqlCommand("updemp", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@eno", SqlDbType.Int).Value = p.eno;
            cmd.Parameters.Add("@en", SqlDbType.VarChar,50).Value = p.ename;
            cmd.Parameters.Add("@ed", SqlDbType.VarChar,50).Value = p.eadd;
            cmd.Parameters.Add("@es", SqlDbType.Int).Value = p.esal;
            cmd.ExecuteNonQuery();
            cmd.Dispose();
            con.Close();

        }
        public void delete_rec(clsempprp p)
        {
            if(con.State==ConnectionState.Closed)
            {
                con.Open();
            }
            SqlCommand cmd = new SqlCommand("delemp", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@eno", SqlDbType.Int).Value = p.eno;
            cmd.ExecuteNonQuery();
            cmd.Dispose();
            con.Close();
        }
        public List<clsempprp>disp_rec()
        {
            if(con.State==ConnectionState.Closed)
            {
                con.Open();
            }
            SqlCommand cmd = new SqlCommand("dispemp", con);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataReader dr = cmd.ExecuteReader();
            List<clsempprp> obj = new List<clsempprp>();
            while (dr.Read())
            {
                clsempprp k = new clsempprp();
                k.eno = Convert.ToInt32(dr[0]);
                k.ename = dr[1].ToString();
                k.eadd = dr[2].ToString();
                k.esal = Convert.ToInt32(dr[3]);
                obj.Add(k);  
            }
            dr.Close();
            cmd.Dispose();
            con.Close();
            return obj;

        }
        public List<clsempprp>find_rec(Int32 eno)
        {
            if(con.State==ConnectionState.Closed)
            {
                con.Open();
            }
            SqlCommand cmd = new SqlCommand("findemp", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@eno", SqlDbType.Int).Value = eno;
            SqlDataReader dr = cmd.ExecuteReader();
            List<clsempprp> obj = new List<clsempprp>();
            if(dr.HasRows)
            {
                dr.Read();
                clsempprp k = new clsempprp();
                k.eno = Convert.ToInt32(dr[0]);
                k.ename = dr[1].ToString();
                k.eadd = dr[2].ToString();
                k.esal = Convert.ToInt32(dr[3]);
                obj.Add(k);
            }
            dr.Close();
            cmd.Dispose();
            con.Close();
            return obj;
        }
    }
}


Default.aspx
// Add object Data Source and Configure the object data source
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        Emp No&nbsp;&nbsp;&nbsp;
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <br />
        Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <br />
        <br />
        Address&nbsp;&nbsp;&nbsp;
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
        <br />
        <br />
        Salary&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
        <br />
        <br />
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="disp_rec" TypeName="nsemployees.clsemp"></asp:ObjectDataSource>
        <asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True" DataSourceID="ObjectDataSource1" DataTextField="ename" DataValueField="eno" Height="187px" OnSelectedIndexChanged="ListBox1_SelectedIndexChanged1" Width="162px"></asp:ListBox>
        <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Save" />
&nbsp;&nbsp;&nbsp;
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click1" Text="Update" />
&nbsp;&nbsp;
        <asp:Button ID="Delete" runat="server" OnClick="Delete_Click" Text="Delete" />
&nbsp;&nbsp;
        <asp:Button ID="Clear" runat="server" OnClick="Clear_Click" Text="Clear" />
    
    </div>
    </form>
</body>
</html>

Default.aspx.cs:

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

public partial class _Default : System.Web.UI.Page
{
    nsemployees.clsempprp objprp = new nsemployees.clsempprp();
    nsemployees.clsemp obj = new nsemployees.clsemp();
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        objprp.eno = Convert.ToInt32(TextBox1.Text);
        objprp.ename = TextBox2.Text;
        objprp.eadd = TextBox3.Text;
        objprp.esal = Convert.ToInt32(TextBox4.Text);
        obj.save_rec(objprp);
        ListBox1.DataBind();

        clear_rec();
    }

    private void clear_rec()
    {
        TextBox1.Text = string.Empty;
        TextBox2.Text = string.Empty;
        TextBox3.Text = string.Empty;
        TextBox4.Text = string.Empty;
        TextBox1.Focus();
    }

    protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        List<nsemployees.clsempprp> k;
        k = obj.find_rec(Convert.ToInt32(ListBox1.SelectedValue));
        TextBox1.Text = k[0].eno.ToString();
        TextBox2.Text = k[0].ename;
        TextBox3.Text = k[0].eadd;
        TextBox4.Text = k[0].esal.ToString();
           
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        objprp.eno = Convert.ToInt32(TextBox1.Text);
        objprp.ename = TextBox2.Text;
        objprp.eadd = TextBox3.Text;
        objprp.esal = Convert.ToInt32(TextBox4.Text);
        obj.update_rec(objprp);
        ListBox1.DataBind();
        clear_rec();
    }

    protected void Button3_Click(object sender, EventArgs e)
    {
        objprp.eno = Convert.ToInt32(TextBox1.Text);
        obj.delete_rec(objprp);
        ListBox1.DataBind();
        clear_rec();
    }

    protected void Button4_Click(object sender, EventArgs e)
    {
        clear_rec();
    }
}


Ouput:


Addition in Grid View using Sql Query:

Addition in Grid View using Sql Query:
Table Data:
Here I create two tables department table and employee table:

Queries can be used:
select * from tbdep
select * from tbemployee

select empdept, ISNULL (empname,'S.Total') empname, SUM(empsalary) empsalary, COUNT(*) NOE from tbemployee group by empdept,empname with rollup

select dname, ISNULL(empname,'S.Total') empname, SUM(empsalary) empsalary, COUNT(*) NOE from tbemployee,tbdep where empdept=dno group by dname,empname with rollup

select isnull (dname,'G.Total') dname, ISNULL(empname,'S.Total') empname, SUM(empsalary) empsalary from tbemployee,tbdep where empdept=dno group by dname,empname with rollup

select case when(Grouping (dname)=1) then 'G.Total' else dname end dname, case when (Grouping(empname)=1 )then 'S.Total' else empname end empname, Sum(empsalary) empsalary from tbemployee, tbdep where empdept=dno group by dname, empname with rollup


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default11.aspx.cs" Inherits="Default11" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <br />
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" OnRowDataBound="GridView1_RowDataBound">
        </asp:GridView>
        &nbsp;<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView2_RowDataBound" OnSelectedIndexChanged="GridView2_SelectedIndexChanged">
            <Columns>
                <asp:BoundField DataField="empname" HeaderText="Name">
                <ControlStyle BackColor="Fuchsia" />
                <HeaderStyle BackColor="White" Font-Bold="True" Font-Size="X-Large" ForeColor="#FF0066" />
                </asp:BoundField>
                <asp:BoundField DataField="empsalary" HeaderText="Salary" >
               <ControlStyle BackColor="Fuchsia" />
                <HeaderStyle BackColor="White" Font-Bold="True" Font-Size="X-Large" ForeColor="#FF0066" />
                </asp:BoundField>
            </Columns>
        </asp:GridView>
        <br />
    
    </div>
    </form>
</body>
</html>

Code :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;

public partial class Default11 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.IsPostBack == false)
        {
            grid_bind();
        }
    }
    private void grid_bind()
    {
        //String qry = "select case when(Grouping (dname=1) then 'G.Total' else dname and dname, case when (Grouping(ename)=1 then 'S.Total' else empnam and empnam, Sum(esal) esal from tbemp, tbdep where edno=dno group by dname, empnam with rollup";
        String qry = "select case when(Grouping (dname)=1) then 'G.Total' else dname end dname, case when (Grouping(empname)=1 )then 'S.Total' else empname end empname, Sum(empsalary) empsalary from tbemployee, tbdep where empdept=dno group by dname, empname with rollup";
        SqlDataAdapter da=new SqlDataAdapter(qry,ConfigurationManager.ConnectionStrings["abhishek"].ConnectionString);
        DataSet ds=new DataSet();
        da.Fill(ds);
        Int32 i=0;
        String pd=" ",nd;
        while(i<ds.Tables[0].Rows.Count-1)
        {
            nd=ds.Tables[0].Rows[i][0].ToString();
            if(pd!=nd)
            {
                pd = nd;
                DataRow dr=ds.Tables[0].NewRow();
                dr[1]=nd;
                dr[2]="-1";
                //to insert row at the centre Insert at is used
                ds.Tables[0].Rows.InsertAt(dr,i);
                i++;
            }
            i++;
            ds.Tables[0].Rows[ds.Tables[0].Rows.Count-1][1]="G.Total";
            GridView1.DataSource=ds;
            GridView1.DataBind();
            GridView2.DataSource = ds;
            GridView2.DataBind();
            }
        }
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.Cells[2].Text == "-1")
        {
            e.Row.BackColor = Color.Yellow;
        }
        if (e.Row.Cells[0].Text == "G.Total")
        {
            e.Row.BackColor = Color.Red;
        }
        if (e.Row.Cells[1].Text == "S.Total")
        {
            e.Row.BackColor = Color.Green;
        }

    }
    protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.Cells[1].Text == "-1")
        {
            e.Row.BackColor = Color.RoyalBlue;
            e.Row.Cells[0].ColumnSpan = 2;
            e.Row.Cells[0].Font.Bold = true;
            e.Row.Cells[0].HorizontalAlign = HorizontalAlign.Center;
            e.Row.Cells.RemoveAt(1);
        }
        if (e.Row.Cells[0].Text == "G.Total")
        {
            e.Row.BackColor = Color.Red;
            e.Row.Cells[0].Font.Bold = true;
        }
        if (e.Row.Cells[0].Text == "S.Total")
        {
            e.Row.BackColor = Color.SkyBlue;
        }
    }
    protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
}

Ouput:






Detail View in asp.net





Create Table And then Make Store Procedure:



<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .auto-style1 {
            font-size: x-large;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <strong><span class="auto-style1">Display Data in Detail View</span></strong><br />
        <asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="316px" AutoGenerateRows="False" AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="None" OnItemDeleting="DetailsView1_ItemDeleting" OnItemInserting="DetailsView1_ItemInserting" OnItemUpdating="DetailsView1_ItemUpdating" OnModeChanging="DetailsView1_ModeChanging" OnPageIndexChanged="DetailsView1_PageIndexChanged" OnPageIndexChanging="DetailsView1_PageIndexChanging">
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
            <CommandRowStyle BackColor="#E2DED6" Font-Bold="True" />
            <EditRowStyle BackColor="#999999" />
            <FieldHeaderStyle BackColor="#E9ECF1" Font-Bold="True" />
            <Fields>
                <asp:TemplateField HeaderText="Emp no">
                    <EditItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Eval("eno") %>'></asp:Label>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("eno") %>'></asp:TextBox>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("eno") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Name">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("en") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("en") %>'></asp:TextBox>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Eval("en") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Address">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox4" runat="server" Text='<%# Eval("ed") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="TextBox5" runat="server" Text='<%# Eval("ed") %>'></asp:TextBox>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label4" runat="server" Text='<%# Eval("ed") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Salary">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox6" runat="server" Text='<%# Eval("es") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="TextBox7" runat="server" Text='<%# Eval("es") %>'></asp:TextBox>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label5" runat="server" Text='<%# Eval("es") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <EditItemTemplate>
                        <asp:LinkButton ID="LinkButton4" runat="server" CommandName="Update">Update</asp:LinkButton>
                        &nbsp;
                        <asp:LinkButton ID="LinkButton5" runat="server" CommandName="Cancel">Cancel</asp:LinkButton>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <asp:LinkButton ID="LinkButton6" runat="server" CommandName="Insert">Insert</asp:LinkButton>
                        &nbsp;
                        <asp:LinkButton ID="LinkButton7" runat="server" CommandName="Cancel">Cancel</asp:LinkButton>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Edit">Edit</asp:LinkButton>
                        &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CommandName="Delete" OnClientClick="return confirm('Are you sure you want to delete this record?');">Delete</asp:LinkButton>
                        &nbsp;<asp:LinkButton ID="LinkButton3" runat="server" CommandName="New">New</asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Fields>
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        </asp:DetailsView>
        <br />
    </div>
    </form>
</body>
</html>

Code File:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using Microsoft.ApplicationBlocks.Data;
//Add  Microsoft.ApplicationBlocks.Data.dll
public partial class _Default : System.Web.UI.Page
{
    string cs;
    protected void Page_Load(object sender, EventArgs e)
    {
        cs = ConfigurationManager.ConnectionStrings["abhishek"].ConnectionString;
        if (Page.IsPostBack == false)
        {
            detailview_bind();
        }

    }
    private void detailview_bind()
    {
        DataSet ds;
        ds = SqlHelper.ExecuteDataset(cs, "dispemp");
        DetailsView1.DataSource = ds;
        DetailsView1.DataBind();
    }
    protected void DetailsView1_PageIndexChanging(object sender, DetailsViewPageEventArgs e)
    {
        DetailsView1.PageIndex = e.NewPageIndex;
        detailview_bind();

    }
    protected void DetailsView1_PageIndexChanged(object sender, EventArgs e)
    {
       

    }
    protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
    {
        DetailsView1.ChangeMode(e.NewMode);
        detailview_bind();
    }
    protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
    {
        Int32 empno, es;
        String en, ed;
        empno = Convert.ToInt32(((TextBox)(DetailsView1.Rows[0].FindControl("TextBox1"))).Text);
        en=((TextBox)(DetailsView1.Rows[1].FindControl("TextBox3"))).Text;
        ed = ((TextBox)(DetailsView1.Rows[2].FindControl("TextBox5"))).Text;
        es = Convert.ToInt32(((TextBox)(DetailsView1.Rows[3].FindControl("TextBox7"))).Text);
        Object[] ar = new Object[4];
        ar[0] = empno;
        ar[1] = en;
        ar[2] = ed;
        ar[3] = es;
        SqlHelper.ExecuteNonQuery(cs, "insemployee",ar);
        DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
        detailview_bind();

    }
    protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
    {
        Int32 empno, es;
        String en, ed;
        empno = Convert.ToInt32(((Label)(DetailsView1.Rows[0].FindControl("Label2"))).Text);
        en = ((TextBox)(DetailsView1.Rows[1].FindControl("TextBox2"))).Text;
        ed = ((TextBox)(DetailsView1.Rows[2].FindControl("TextBox4"))).Text;
        es = Convert.ToInt32(((TextBox)(DetailsView1.Rows[3].FindControl("TextBox6"))).Text);
        Object[] ar = new Object[4];
        ar[0] = empno;
        ar[1] = en;
        ar[2] = ed;
        ar[3] = es;
        SqlHelper.ExecuteNonQuery(cs, "sp_update", ar);
        DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
        detailview_bind();
    }
    protected void DetailsView1_ItemDeleting(object sender, DetailsViewDeleteEventArgs e)
    {
        Int32 empno;
        empno = Convert.ToInt32(((Label)(DetailsView1.Rows[0].FindControl("Label1"))).Text);
        Object[] ar = new Object[1];
        ar[0] = empno;
        SqlHelper.ExecuteNonQuery(cs, "sp_delete", ar);
        DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
        detailview_bind();
    }
}

Output:

Finding the highest salary in SQL Server

Table: tbemployee
Query to find the first highest salary:
Here we can use any one of the following query...

SELECT TOP 1  empsalary
FROM ( SELECT DISTINCT TOP 1 empsalary   FROM tbemployee   ORDER BY empsalary DESC) a
ORDER BY empsalary


select empid, empname ,empsalary from (select empid,empname,empsalary, ROW_NUMBER() over (Order by empsalary desc) as salary_order from tbemployee
) DT
where DT.salary_order=1

Ouput would be like this:




But if the salary is similar i.e. Salary with a tie or we can say that salary is same of two employees then we can use the below mention query:

select empid, empname ,empsalary from (select empid,empname,empsalary, dense_rank() over (Order by empsalary desc) as salary_order from tbemployee
) DT     where DT.salary_order=1




click here for : Third Highest Salary



Paging using store procedure

Table :


Store Procedure:
In this store procedure I used cursor

CREATE PROCEDURE Pageing

@pagenumber int,  --5
@pagesize int --5
AS
BEGIN
declare @srec int  --starting record 21
declare @erec int   --ending record  21
declare @sbid int --starting book id
declare @ebid int --ending record
declare @rc int -- record count
--set @srec=@pagenumber * @pagesize-@pagesize+1
--use any one of the query both are correct above or below
set @srec=(@pagenumber-1)*@pagesize+1

declare c_book scroll cursor for 
select bookid from tbbook order by bookid
open c_book
fetch absolute @srec from c_book into @sbid
--Absolute set the pointer everytime at begining
--Relative can be used but that does not put the pointer on begining everytime
select @rc=COUNT(*) from tbbook where bookid>@sbid
if @rc<@pagesize
set @erec=@srec+@rc
else set @erec=@pagenumber*@pagesize
fetch absolute @erec from c_book into @ebid
close c_book
deallocate c_book
select COUNT(*) from tbbook
select * from tbbook where bookid>=@sbid and bookid<=@ebid

END

GO