Display Intime and Outtime of employee separately in a Gridview

In this blog we will know how to display Intime and Outtime of employee in a Gridview.Suppose we have a table named as employee which contains four columns as empCode, inoutMode, date and time. In time column we have both the Intime and Outtime of the employee respectively. So, here our work is to display both the Intime and Outtime separately of the respective employees into a Gridview.

 

 

The scenario is

 

Create table employee (empCode varchar(50),inoutMode int,date varchar(50),time varchar(50))

 

employee table data

 

empCode     inoutMode          date                time

6001                    0               16/09/2011       09:05:34

6002                    0               16/09/2011       09:33:13

6001                    1               16/09/2011       18:05:09

6002                    1               16/09/2011       17:44:34

 

 

 

I need the output as below

 

empCode     date                 Intime               Outtime

6001             16/09/2011     09:05:34               18:05:09

6002             16/09/2011     09:33:13               17:44:34

 

 

 

Default.aspx code

 

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

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>Untitled Page</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

   

    </div>

    <asp:GridView ID="GridView1" runat="server">

    </asp:GridView>

    </form>

</body>

</html>

 

Default.aspx.cs code

 

using System;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

    string strConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

    string str;

    SqlCommand com;

    protected void Page_Load(object sender, EventArgs e)

    {

        SqlConnection con = new SqlConnection(strConnString);

        con.Open();

        str = "SELECT a.empCode,a.date,a.[time] AS Intime,b.Outtime FROM   employee  A LEFT JOIN ( SELECT empCode,date,[time] AS Outtime FROM   employee WHERE  employee.inoutMode = 1 ) b ON  a.empCode = b.empCode AND a.date = b.date WHERE  a.inoutMode = 0";

        com = new SqlCommand(str, con);

        SqlDataReader reader = com.ExecuteReader();

        GridView1.DataSource = reader;

        GridView1.DataBind();

        con.Close();

    }

}

 

 

Thanks for reading.