Monday, April 25, 2011

Facebook like post using repeater in asp.net

create a database demo and add table PostMaster 
table contain the columns "postid(pk),post,postdate"


Step 1: Create StyleSheet "Default.css"
.table

{
width: 60%;
border-radius: 14px;
-moz-border-radius: 14px;
-webkit-border-radius: 14px;
border: 1px groove #B7B7B7;
margin-left: 108px;
vertical-align: text-top;
background-color: #CACACA;
}
.td
{
height: 79px;
text-align:center;
}
.link
{
text-decoration:none;
font-weight:bold;
background: #0571A6;
background: -moz-linear-gradient(top,#73AEC9 0,#73AEC9 1px,#338AB0 1px,#0571A6 100%);
background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#73AEC9),color-stop(5%,#73AEC9),color-stop(5%,#338AB0),color-stop(100%,#0571A6));
background: #0571A6;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#338AB0',endColorstr='#0571A6',GradientType=0);
border-color: #045A8B;
color: white!important;
margin-left: 0px;
margin-right:20px;
}
.divPost
{
height: 104px;
}
.divborder
{
margin-top:23px;
border-top:groove 1px #CACACA;
}
.divcontent
{
margin-top:10px;
width: 532px;
}
.PostTable
{
border:1px groove #C0C0C0;
border-radius: 11px;
margin-bottom:8px;
text-align:justify;
margin-left:20px;
-moz-border-radius: 11px;
-webkit-border-radius: 11px;
background-color:#EDFAEF;
width:500px;
height:100px;
}

Step 2: Create an asp webform "Sharing.aspx" 


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Sharing.aspx.cs" Inherits="ASP_NET.Examples.Sharing" %>

<%@ Register src="BlogPost.ascx" tagname="BlogPost" tagprefix="uc1" %>

<!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>Wall Post Example</title>
    <link href="Default.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
    <div class="divPost">
        <table class="table">
            <tr>
                <td class="td">
                    <asp:TextBox ID="txtPost" runat="server" style="margin-top:10px" Height="50px"
                        Width="554px" TextMode="MultiLine"></asp:TextBox>
                    <p align="right" style="margin-top:5px;">
                        <asp:RequiredFieldValidator ID="RFV" runat="server" style="float:left; margin-left: 23px;"
                            ErrorMessage="Enter Text First" ControlToValidate="txtPost"
                            ForeColor="White"></asp:RequiredFieldValidator>
                        <asp:Button ID="btnPost" runat="server" CssClass="link" Text="Post"
                            Width="91px" onclick="Button1_Click" />
                    </p>
                 </td>
            </tr>
        </table>
    </div>
    <div class="divborder">
    </div>
    <div class="divcontent">
        <uc1:BlogPost ID="BlogPost1" runat="server" />
    </div>
    </form>
    </body>
</html>














Step 3: Go to code file "Sharing.aspx.cs"
using System;
using System.Collections;
using System.Configuration;
using System.Data;
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.Data.SqlClient;

namespace ASP_NET.Examples
{
    public partial class Sharing : System.Web.UI.Page
    {
        string connectionstring = ConfigurationManager.ConnectionStrings["DemoConnectionString"].ConnectionString;
        DateTime today_date;
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            today_date = DateTime.Now;
            SqlConnection mycon = new SqlConnection(connectionstring);
            SqlCommand mycmd = new SqlCommand("InsertPost", mycon);
            mycon.Open();
            mycmd.CommandType = CommandType.StoredProcedure;
            mycmd.Parameters.Add("@Post", SqlDbType.NVarChar).Value = txtPost.Text;
            mycmd.Parameters.Add("@PostDate", SqlDbType.DateTime).Value = today_date;
            mycmd.ExecuteNonQuery();
            mycmd.Dispose();
            mycon.Close();
            Response.Redirect("Sharing.aspx");
        }
    }
}

Step 4: Create Web User Control "BlogPost.ascx"

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="BlogPost.ascx.cs" Inherits="ASP_NET.Examples.BlogPost" %>
<link href="Default.css" rel="stylesheet" type="text/css" />
<div id="storydiv" style="width:235px">
    
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate><table class="PostTable"><tr><td>
<asp:Label ID="lblStory" runat="server" Text='<%# Eval("Post") %>' style="text-align:justify;font-family:Calibri; color:Gray; margin-left:25px;" /></td></tr></table>
</ItemTemplate>
</asp:Repeater></div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:DemoConnectionString %>" 
    
    SelectCommand="SELECT PostId, Post, PostDate FROM PostMaster ORDER BY PostId DESC"></asp:SqlDataSource>



Friday, April 15, 2011

Self Join Example in sql server


Employee



 Table#1





Employee ID
FirstName
LastName
DesignationID
ReportingManager
1001
Amit
Johnson
101
1004
1002
Jim
Collins
102
1001
1003
John
Rosemond
102
1001
1004
Liz
Pulliam
103
1004
1005
Clara
Shih
101
1004
1006
Rocky
Singh
102
1005


Designation

 Table#2



DesignationID
Name

101
Creative Director

102
Designer

103
Digital Marketing Manager

104
President



 Output

 Table#3



Write an SQL query to retrieve following output in following format.



Full Name
Designation
Manager's Name

======================================================================
SELECT     EmployeeName.FirstName + ' ' + EmployeeName.LastName AS EmployeeName, Employee.FirstName + ' ' + Employee.LastName AS ManagerName,
                      Designation.Name AS Designation
FROM         Employee INNER JOIN
                      Employee AS EmployeeName ON Employee.EmployeeId = EmployeeName.ReportingManager INNER JOIN
                      Designation ON Employee.DesignationId = Designation.DesignationId

======================================================================

Output:
             EmployeeName         ManagerName        Designation
            =============       ============        =========
             Amit Johnson            Liz Pulliam               Digital Marketing Manager
            Jim  Collins                Amit Johnson           Creative Director
            John Rosemond        Amit Johnson           Creative Director
            Liz Pulliam                 Liz Pulliam                Digital Marketing Manager
            Clara Shih                  Liz Pulliam               Digital Marketing Manager
            Rocky  Singh             Clara Shih                Creative Director