<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3600004536514468072</id><updated>2012-01-23T16:36:13.390+05:30</updated><category term='Code Snippets'/><category term='DatabindExpressions'/><category term='SQL'/><category term='CSS'/><category term='Errors'/><category term='GridView'/><category term='AJAX'/><category term='Code Compression'/><category term='Theme'/><category term='Conversion'/><category term='ASP.NET'/><category term='OpenID'/><category term='C#'/><category term='IhttpHandlers IhttpModule'/><category term='Browsers'/><category term='Other'/><category term='WCF'/><category term='Short Cut'/><category term='OOPS'/><category term='Global.asax'/><category term='Tools'/><category term='Journey Planner'/><category term='Grid View'/><category term='Windows Service'/><category term='JavaScript'/><category term='Web Method'/><category term='ALL SQL Notes'/><title type='text'>Asp.Net and SQL SERVER</title><subtitle type='html'>My learning and thoughts</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default?start-index=101&amp;max-results=100'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>117</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-2853933922735159428</id><published>2012-01-19T18:02:00.000+05:30</published><updated>2012-01-19T18:33:00.800+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Grid View'/><title type='text'>Exporting gridview to excel with multiple headers</title><content type='html'>In the code behind declare GridViewRow globally for the page.&lt;br/&gt;Refer the link&lt;a href="http://asp-tech.blogspot.com/2011/12/merging-gridview-with-multiple-headers.html"&gt;merging-gridview-with-multiple-headers&lt;/a&gt;&lt;br/&gt;Add the ImageButton in the aspx page.&lt;br/&gt;&lt;br/&gt;&amp;lt;asp:ImageButton ToolTip=&amp;quot;Csv&amp;quot; ID=&amp;quot;btnCsvDown&amp;quot; runat=&amp;quot;server&amp;quot; ImageUrl=&amp;quot;~/Images/csv.jpg&amp;quot; OnClick=&amp;quot;ibtnDownload_Click&amp;quot; CommandName=&amp;quot;Csv&amp;quot;/&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;asp:ImageButton ToolTip=&amp;quot;Word&amp;quot; ID=&amp;quot;btnWordDown&amp;quot; runat=&amp;quot;server&amp;quot; ImageUrl=&amp;quot;~/Images/word-icon.png&amp;quot; OnClick=&amp;quot;ibtnDownload_Click&amp;quot; CommandName=&amp;quot;Word&amp;quot; /&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;asp:ImageButton ToolTip=&amp;quot;Excel&amp;quot; ID=&amp;quot;btnExcelDown&amp;quot; runat=&amp;quot;server&amp;quot; ImageUrl=&amp;quot;~/Images/excel-icon.png&amp;quot; OnClick=&amp;quot;ibtnDownload_Click&amp;quot; CommandName=&amp;quot;Excel&amp;quot;/&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;asp:ImageButton ToolTip=&amp;quot;Pdf&amp;quot; ID=&amp;quot;btnPdfDown&amp;quot; runat=&amp;quot;server&amp;quot; ImageUrl=&amp;quot;~/Images/pdf-icon.png&amp;quot; OnClick=&amp;quot;ibtnDownload_Click&amp;quot; CommandName=&amp;quot;Pdf&amp;quot;/&amp;gt;&lt;br/&gt;&lt;br/&gt;Click events for all the download Image buttons.&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;    protected void ibtnDownload_Click(object sender, ImageClickEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        ImageButton imgButton = sender as ImageButton;&lt;br /&gt;        GridViewExportUtil.Export("Report.xls", this.gvStylish, &lt;b&gt;HeaderRow&lt;/b&gt;,&lt;br /&gt;            DateTime.Now.AddDays(-20).ToShortDateString(),&lt;br /&gt;            DateTime.Now.ToShortDateString(), imgButton.CommandName.ToUpper());&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;The below source code is developed by Mattberseth.&lt;br/&gt;I have updated this, when we are exporting a gridview with multiple headers.&lt;a href="http://mattberseth.com/blog/2007/04/export_gridview_to_excel_1.html"&gt;mattberseth&lt;/a&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Configuration;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.Security;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;using System.Web.UI.WebControls.WebParts;&lt;br /&gt;using System.Web.UI.HtmlControls;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Reflection;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// &lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;public class GridViewExportUtil&lt;br /&gt;{&lt;br /&gt;    /// &lt;summary&gt;&lt;br /&gt;    /// &lt;br /&gt;    /// &lt;/summary&gt;&lt;br /&gt;    /// &lt;param name="fileName"&gt;&lt;/param&gt;&lt;br /&gt;    /// &lt;param name="gv"&gt;&lt;/param&gt;&lt;br /&gt;    public static void Export(string fileName, GridView gv)&lt;br /&gt;    {&lt;br /&gt;        HttpContext.Current.Response.Clear();&lt;br /&gt;        HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", fileName));&lt;br /&gt;        HttpContext.Current.Response.AddHeader("Content-Transfer-Encoding", "utf-8");&lt;br /&gt;        HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";&lt;br /&gt;        HttpContext.Current.Response.AddHeader("oCodepage", "65001");&lt;br /&gt;&lt;br /&gt;        HttpContext.Current.Response.Charset = "utf-8";&lt;br /&gt;        HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1253");&lt;br /&gt;&lt;br /&gt;        using (StringWriter sw = new StringWriter())&lt;br /&gt;        {&lt;br /&gt;            using (HtmlTextWriter htw = new HtmlTextWriter(sw))&lt;br /&gt;            {&lt;br /&gt;                //  Create a table to contain the grid&lt;br /&gt;                Table table = new Table();&lt;br /&gt;&lt;br /&gt;                //  include the gridline settings&lt;br /&gt;                table.GridLines = gv.GridLines;&lt;br /&gt;&lt;br /&gt;                //  add the header row to the table&lt;br /&gt;                if (gv.HeaderRow != null)&lt;br /&gt;                {&lt;br /&gt;                    GridViewExportUtil.PrepareControlForExport(gv.HeaderRow);&lt;br /&gt;                    table.Rows.Add(gv.HeaderRow);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                //  add each of the data rows to the table&lt;br /&gt;                foreach (GridViewRow row in gv.Rows)&lt;br /&gt;                {&lt;br /&gt;                    GridViewExportUtil.PrepareControlForExport(row);&lt;br /&gt;                    table.Rows.Add(row);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                //  add the footer row to the table&lt;br /&gt;                //   if (gv.FooterRow != null)&lt;br /&gt;                //   {&lt;br /&gt;                //       GridViewExportUtil.PrepareControlForExport(gv.FooterRow);&lt;br /&gt;                //       table.Rows.Add(gv.FooterRow);&lt;br /&gt;                //   }&lt;br /&gt;&lt;br /&gt;                //  render the table into the htmlwriter&lt;br /&gt;                table.RenderControl(htw);&lt;br /&gt;&lt;br /&gt;                //  render the htmlwriter into the response&lt;br /&gt;&lt;br /&gt;                String s = sw.ToString();&lt;br /&gt;&lt;br /&gt;                HttpContext.Current.Response.Write(s);&lt;br /&gt;                HttpContext.Current.Response.End();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public static void Export(string fileName, GridView gv, GridViewRow HeaderRow, string fdate, string tdate, string strExportType)&lt;br /&gt;    {&lt;br /&gt;        HttpContext.Current.Response.Clear();&lt;br /&gt;        HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);&lt;br /&gt;&lt;br /&gt;        switch (strExportType)&lt;br /&gt;        {&lt;br /&gt;            case "WORD":&lt;br /&gt;                HttpContext.Current.Response.ContentType = "application/ms-word";&lt;br /&gt;                fileName = fileName.Replace(Path.GetExtension(fileName), ".doc");&lt;br /&gt;                break;&lt;br /&gt;            case "EXCEL":&lt;br /&gt;                HttpContext.Current.Response.ContentType = "application/ms-excel";&lt;br /&gt;                fileName = fileName.Replace(Path.GetExtension(fileName), ".xls");&lt;br /&gt;                break;&lt;br /&gt;            case "PDF":&lt;br /&gt;                HttpContext.Current.Response.ContentType = "application/pdf";&lt;br /&gt;                fileName = fileName.Replace(Path.GetExtension(fileName), ".pdf");&lt;br /&gt;                break;&lt;br /&gt;            case "CSV":&lt;br /&gt;                HttpContext.Current.Response.ContentType = "application/text";&lt;br /&gt;                fileName = fileName.Replace(Path.GetExtension(fileName), ".csv");&lt;br /&gt;                break;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        HttpContext.Current.Response.AddHeader(&lt;br /&gt;    "content-disposition", string.Format("attachment; filename={0}", fileName));&lt;br /&gt;&lt;br /&gt;        using (StringWriter sw = new StringWriter())&lt;br /&gt;        {&lt;br /&gt;            using (HtmlTextWriter htw = new HtmlTextWriter(sw))&lt;br /&gt;            {&lt;br /&gt;                //  Create a table to contain the grid&lt;br /&gt;                Table table = new Table();&lt;br /&gt;&lt;br /&gt;                //  include the gridline settings&lt;br /&gt;                table.GridLines = gv.GridLines;&lt;br /&gt;&lt;br /&gt;                table.Rows.Add(CreateTableRow("Report from " + fdate + " to " + tdate, 5));&lt;br /&gt;                table.Rows.Add(CreateTableRow("Report Generated on:" + DateTime.Now.ToString("MM/dd/yyyy"), 5));&lt;br /&gt;&lt;br /&gt;                //  add the new header row to the table&lt;br /&gt;                if (HeaderRow != null)&lt;br /&gt;                {&lt;br /&gt;                    PrepareControlForExport(HeaderRow);&lt;br /&gt;                    foreach(TableCell tcHeader in HeaderRow.Cells )&lt;br /&gt;                        tcHeader.BackColor = System.Drawing.Color.LightGray;&lt;br /&gt;                    //HeaderRow.BackColor = System.Drawing.Color.LightGray;&lt;br /&gt;                    table.Rows.Add(HeaderRow);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                //  add the header row to the table&lt;br /&gt;                if (gv.HeaderRow != null)&lt;br /&gt;                {&lt;br /&gt;                    //Since we are merging the header cell. We have to remove the cell&lt;br /&gt;                    /**/&lt;br /&gt;                    GridViewRow gridViewHeader = gv.HeaderRow;&lt;br /&gt;                    for (int removeCell = 2; removeCell &gt;= 0; removeCell--)&lt;br /&gt;                        gridViewHeader.Cells.RemoveAt(removeCell);&lt;br /&gt;                    foreach (TableCell tcHeader in gridViewHeader.Cells)&lt;br /&gt;                        tcHeader.BackColor = System.Drawing.Color.LightGray;&lt;br /&gt;                    //gridViewHeader.BackColor = System.Drawing.Color.LightGray;&lt;br /&gt;                    /**/&lt;br /&gt;&lt;br /&gt;                    //GridViewExportUtil.PrepareControlForExport(gv.HeaderRow);&lt;br /&gt;                    //table.Rows.Add(gv.HeaderRow);&lt;br /&gt;                    GridViewExportUtil.PrepareControlForExport(gridViewHeader);&lt;br /&gt;                    table.Rows.Add(gridViewHeader);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                //  add each of the data rows to the table&lt;br /&gt;                foreach (GridViewRow row in gv.Rows)&lt;br /&gt;                {&lt;br /&gt;                    GridViewExportUtil.PrepareControlForExport(row);&lt;br /&gt;&lt;br /&gt;                    /**/&lt;br /&gt;                    //Set the default color&lt;br /&gt;                    System.Drawing.Color color = row.BackColor;&lt;br /&gt;                    if (color != System.Drawing.Color.White)&lt;br /&gt;                        row.BackColor = System.Drawing.Color.White;&lt;br /&gt;&lt;br /&gt;                    if (row.Cells[0].Text.ToUpper().Contains("TOTAL") ||&lt;br /&gt;                        row.Cells[0].Text.ToUpper().Contains("GRAND"))&lt;br /&gt;                    {&lt;br /&gt;                        color = System.Drawing.Color.LightGray;&lt;br /&gt;                        row.Font.Bold = true;&lt;br /&gt;                    }&lt;br /&gt;                    if (color != System.Drawing.Color.White)&lt;br /&gt;                        foreach (TableCell tcRow in row.Cells)&lt;br /&gt;                            tcRow.BackColor = color;&lt;br /&gt;                    /**/&lt;br /&gt;&lt;br /&gt;                    table.Rows.Add(row);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                //  add the footer row to the table&lt;br /&gt;                if (gv.FooterRow != null)&lt;br /&gt;                {&lt;br /&gt;                    GridViewExportUtil.PrepareControlForExport(gv.FooterRow);&lt;br /&gt;                    table.Rows.Add(gv.FooterRow);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                //  render the table into the htmlwriter&lt;br /&gt;                table.RenderControl(htw);&lt;br /&gt;&lt;br /&gt;                //  render the htmlwriter into the response&lt;br /&gt;                HttpContext.Current.Response.Write(sw.ToString());&lt;br /&gt;                HttpContext.Current.Response.End();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    /*&lt;br /&gt;&lt;br /&gt;    private static void ExportToPdf()&lt;br /&gt;    {&lt;br /&gt;        // Create instance of a new document&lt;br /&gt;        Document doc = new Document(PageSize.A4, 10, 10, 50, 50);&lt;br /&gt;        // Change   the content type to application/pdf !Important&lt;br /&gt;        HttpContext.Current.Response.ContentType = "application/pdf";&lt;br /&gt;        // Get   Instance of pdfWriter to be able to create &lt;br /&gt;        // the document in the OutputStream&lt;br /&gt;        PdfWriter.GetInstance(doc, HttpContext.Current.Response.OutputStream);&lt;br /&gt;        // Create   Style Sheet&lt;br /&gt;        StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();&lt;br /&gt;        //--styles.LoadTagStyle("ol", "leading", "16,0");&lt;br /&gt;        doc.Add(new Header(iTextSharp.text.html.Markup.HTML_ATTR_STYLESHEET, "Style.css"));&lt;br /&gt;        // Open the   document to be able to write to it&lt;br /&gt;        doc.Open();&lt;br /&gt;        //--styles.LoadTagStyle("li", "face", "garamond");&lt;br /&gt;        //--styles.LoadTagStyle("span", "size", "8px");&lt;br /&gt;        //--styles.LoadTagStyle("body", "font-family", "times new roman");&lt;br /&gt;        //--styles.LoadTagStyle("body", "font-size", "10px");&lt;br /&gt;        // Parse   html to PDF understandable objects&lt;br /&gt;        var objects = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(new StreamReader(Server.MapPath("Order.aspx"), Encoding.Default), styles);&lt;br /&gt;        for (int k = 0; k &lt; objects.Count; k++)&lt;br /&gt;        {&lt;br /&gt;            doc.Add((IElement)objects[k]);&lt;br /&gt;        }&lt;br /&gt;        // Close   the document, rendering it to the browser&lt;br /&gt;        doc.Close();&lt;br /&gt;    }&lt;br /&gt;     */&lt;br /&gt;   &lt;br /&gt;    /// &lt;summary&gt;&lt;br /&gt;    /// Replace any of the contained controls with literals&lt;br /&gt;    /// &lt;/summary&gt;&lt;br /&gt;    /// &lt;param name="control"&gt;&lt;/param&gt;&lt;br /&gt;    private static void PrepareControlForExport(Control control)&lt;br /&gt;    {&lt;br /&gt;        for (int i = 0; i &lt; control.Controls.Count; i++)&lt;br /&gt;        {&lt;br /&gt;            //ctl.GetType().FullName == "System.Web.UI.WebControls.DataControlLinkButton")&lt;br /&gt;            Control current = control.Controls[i];&lt;br /&gt;            switch (current.GetType().Name)&lt;br /&gt;            {&lt;br /&gt;                case "LinkButton":&lt;br /&gt;                    //ReplaceControl(control, i, (current as LinkButton).Text);&lt;br /&gt;                    control.Controls.Remove(current);&lt;br /&gt;                    control.Controls.AddAt(i, new LiteralControl((current as LinkButton).Text));&lt;br /&gt;                    break;&lt;br /&gt;                case "ImageButton":&lt;br /&gt;                    //ReplaceControl(control, i, (current as ImageButton).AlternateText);&lt;br /&gt;                    control.Controls.Remove(current);&lt;br /&gt;                    control.Controls.AddAt(i, new LiteralControl((current as ImageButton).AlternateText));&lt;br /&gt;                    break;&lt;br /&gt;                case "HyperLink":&lt;br /&gt;                    //ReplaceControl(control, i, (current as HyperLink).Text);&lt;br /&gt;                    control.Controls.Remove(current);&lt;br /&gt;                    control.Controls.AddAt(i, new LiteralControl((current as HyperLink).Text));&lt;br /&gt;                    break;&lt;br /&gt;                case "DropDownList":&lt;br /&gt;                    //ReplaceControl(control, i, (current as DropDownList).SelectedItem.Text);&lt;br /&gt;                    control.Controls.Remove(current);&lt;br /&gt;                    control.Controls.AddAt(i, new LiteralControl((current as DropDownList).SelectedItem.Text));&lt;br /&gt;                    break;&lt;br /&gt;                case "CheckBox":&lt;br /&gt;                    //ReplaceControl(control, i, (current as CheckBox).Checked ? "True" : "False");&lt;br /&gt;                    control.Controls.Remove(current);&lt;br /&gt;                    control.Controls.AddAt(i, new LiteralControl((current as CheckBox).Checked ? "True" : "False"));&lt;br /&gt;                    break;&lt;br /&gt;            }&lt;br /&gt;           &lt;br /&gt;            if (current.HasControls())&lt;br /&gt;            {&lt;br /&gt;                GridViewExportUtil.PrepareControlForExport(current);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    //private static void ReplaceControl(Control control, int i, string text)&lt;br /&gt;    //{&lt;br /&gt;    //    control.Controls.Remove(text);&lt;br /&gt;    //    control.Controls.AddAt(i, new LiteralControl(text));&lt;br /&gt;    //}&lt;br /&gt;&lt;br /&gt;    public static TableRow CreateTableRow(string text, int iColSpan)&lt;br /&gt;    {&lt;br /&gt;        TableRow objTableRow = new TableRow();&lt;br /&gt;        TableCell tc = new TableCell();&lt;br /&gt;        tc.Text = text;&lt;br /&gt;        tc.HorizontalAlign = HorizontalAlign.Left;&lt;br /&gt;        tc.Font.Bold = true;&lt;br /&gt;        tc.ColumnSpan = iColSpan;&lt;br /&gt;        objTableRow.Cells.Add(tc);&lt;br /&gt;        return objTableRow;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;b&gt;Export GridView with Images to Word Excel and PDF Formats in ASP.Net&lt;/b&gt;&lt;br/&gt;&lt;a href="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/GridViewMultipleHeaderMergWithImages.zip"&gt;Soure Code&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.aspsnippets.com/Articles/Export-GridView-with-Images-to-Word-Excel-and-PDF-Formats-in-ASP.Net.aspx"&gt;References&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-2853933922735159428?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/2853933922735159428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=2853933922735159428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2853933922735159428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2853933922735159428'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2012/01/exporting-gridview-to-excel-with.html' title='Exporting gridview to excel with multiple headers'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-8788226411724800708</id><published>2011-12-19T19:25:00.001+05:30</published><updated>2012-01-19T18:03:09.857+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Grid View'/><title type='text'>Merging Gridview with Multiple Headers</title><content type='html'>&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;&lt;br /&gt;public partial class _Default : System.Web.UI.Page &lt;br /&gt;{&lt;br /&gt;    #region Declarations&lt;br /&gt;    CustomersDataObject objData = null;&lt;br /&gt;    GridViewRow HeaderRow = null;&lt;br /&gt;    #endregion&lt;br /&gt;&lt;br /&gt;    #region Events&lt;br /&gt;    protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;        if (!IsPostBack)&lt;br /&gt;        {&lt;br /&gt;            objData = new CustomersDataObject();&lt;br /&gt;            //DataTable dt =  objData.Select().Table ;&lt;br /&gt;            gvStylish.DataSource = objData.Select();&lt;br /&gt;            gvStylish.DataBind();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected void gvStylish_RowCreated(object sender, GridViewRowEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        //http://www.codeproject.com/Articles/249155/Rows-and-Columns-Merging-in-ASP-NET-GridView-Contr&lt;br /&gt;        //http://sammisoft.net/mboard/mboard/mboard.asp?exe=view&amp;board_id=pds&amp;group_name=sammisoft&amp;idx_num=194&amp;page=22&amp;category=0&amp;search_category=&amp;search_word=&amp;order_c=intVote&amp;order_da=asc&lt;br /&gt;        //http://www.thaicreate.com/dotnet/forum/048135.html&lt;br /&gt;&lt;br /&gt;        if (e.Row.RowType == DataControlRowType.Header)&lt;br /&gt;        {&lt;br /&gt;            GridView HeaderGrid = (GridView)sender;&lt;br /&gt;            HeaderRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);&lt;br /&gt;            for (int cellCount = 0; cellCount &lt; e.Row.Cells.Count; cellCount++)&lt;br /&gt;            {&lt;br /&gt;                if (e.Row.Cells[cellCount].Text.Trim() == "CustomerID"&lt;br /&gt;                    || e.Row.Cells[cellCount].Text.Trim() == "CompanyName"&lt;br /&gt;                    || e.Row.Cells[cellCount].Text.Trim() == "ContactName")&lt;br /&gt;                {&lt;br /&gt;                    //Row Span&lt;br /&gt;                    HeaderRow.Cells.Add(HeaderRowMerg(e, 2, cellCount, System.Drawing.Color.Gray.Name));&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    //Col Span&lt;br /&gt;                    HeaderRow.Cells.Add(HeaderColumnMerg(e, 3, "Subjects", System.Drawing.Color.Gray.Name));&lt;br /&gt;                    break;&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;            gvStylish.Controls[0].Controls.AddAt(0, HeaderRow);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /// &lt;summary&gt;&lt;br /&gt;    /// Merging datarow cells&lt;br /&gt;    /// &lt;/summary&gt;&lt;br /&gt;    /// &lt;param name="sender"&gt;&lt;/param&gt;&lt;br /&gt;    /// &lt;param name="e"&gt;&lt;/param&gt;&lt;br /&gt;    protected void gvStylish_RowDataBound(object sender, GridViewRowEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        if (e.Row.RowType == DataControlRowType.DataRow)&lt;br /&gt;        {&lt;br /&gt;            /*Merging starts*/&lt;br /&gt;            int _iNoOfCellsToCheck = 6;&lt;br /&gt;            for (int rowIndex = gvStylish.Rows.Count - 2; rowIndex &gt;= 0; rowIndex--)&lt;br /&gt;            {&lt;br /&gt;                GridViewRow gvRow = gvStylish.Rows[rowIndex];&lt;br /&gt;                GridViewRow gvPreviousRow = gvStylish.Rows[rowIndex + 1];&lt;br /&gt;                //for (int cellCount = 0; cellCount &lt; gvRow.Cells.Count; cellCount++)&lt;br /&gt;                for (int cellCount = 1; cellCount &lt; _iNoOfCellsToCheck; cellCount++)&lt;br /&gt;                {&lt;br /&gt;                    if (gvRow.Cells[cellCount].Text == gvPreviousRow.Cells[cellCount].Text)&lt;br /&gt;                    {&lt;br /&gt;                        gvRow.Cells[cellCount].RowSpan =&lt;br /&gt;                            gvPreviousRow.Cells[cellCount].RowSpan &lt; 2 ?&lt;br /&gt;                            2 :&lt;br /&gt;                            gvPreviousRow.Cells[cellCount].RowSpan + 1;&lt;br /&gt;&lt;br /&gt;                        gvPreviousRow.Cells[cellCount].Visible = false;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            /*Merging ends*/&lt;br /&gt;&lt;br /&gt;            //If we want to set background color for the row&lt;br /&gt;            //if (e.Row.Cells[0].Text.Trim().ToUpper().Contains("TOTAL"))&lt;br /&gt;            if (e.Row.Cells[0].Text.Trim().ToUpper().Contains("MUTHU"))&lt;br /&gt;            {&lt;br /&gt;&lt;br /&gt;                SetRowBackColor(e, System.Drawing.Color.Silver.Name);&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;                //if (e.Row.Cells[0].Text.Trim().ToUpper().Contains("GRAND"))&lt;br /&gt;                if (e.Row.Cells[0].Text.Trim().ToUpper().Contains("VIJAY"))&lt;br /&gt;                {&lt;br /&gt;                    SetRowBackColor(e, "#999999");&lt;br /&gt;                }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    #endregion&lt;br /&gt;&lt;br /&gt;    #region Functions&lt;br /&gt;    private TableCell HeaderRowMerg(GridViewRowEventArgs e, int iRowSpan, int iIndex, string backcolor)&lt;br /&gt;    {&lt;br /&gt;        TableHeaderCell Cell_Header = new TableHeaderCell();&lt;br /&gt;        Cell_Header.Text = e.Row.Cells[iIndex].Text;&lt;br /&gt;        Cell_Header.HorizontalAlign = HorizontalAlign.Center;&lt;br /&gt;        Cell_Header.Font.Bold = true;&lt;br /&gt;        Cell_Header.RowSpan = iRowSpan;&lt;br /&gt;        Cell_Header.Style.Add("background-color", backcolor);&lt;br /&gt;        e.Row.Cells[iIndex].Attributes.Add("style", "display: none;");&lt;br /&gt;        return Cell_Header;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private TableCell HeaderColumnMerg(GridViewRowEventArgs e, int iColumnSpan, string _strHeaderText, string backcolor)&lt;br /&gt;    {&lt;br /&gt;        TableCell Cell_Header = new TableCell();&lt;br /&gt;        Cell_Header.Text = _strHeaderText;&lt;br /&gt;        Cell_Header.HorizontalAlign = HorizontalAlign.Center;&lt;br /&gt;        Cell_Header.ColumnSpan = iColumnSpan;&lt;br /&gt;        Cell_Header.Font.Bold = true;&lt;br /&gt;        Cell_Header.Style.Add("background-color", backcolor);&lt;br /&gt;        return Cell_Header;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    bool IsInt(string strVal)&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            int value = int.Parse(strVal);&lt;br /&gt;            return true;&lt;br /&gt;        }&lt;br /&gt;        catch&lt;br /&gt;        {&lt;br /&gt;            return false;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void SetRowBackColor(GridViewRowEventArgs e, string color)&lt;br /&gt;    {&lt;br /&gt;        e.Row.BackColor = System.Drawing.Color.FromName(color);&lt;br /&gt;        e.Row.Font.Bold = true;&lt;br /&gt;        foreach (TableCell tc in e.Row.Cells)&lt;br /&gt;        {&lt;br /&gt;            if (IsInt(tc.Text))&lt;br /&gt;                tc.Text = Convert.ToInt32(tc.Text).ToString("#,#");&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    #endregion&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/GridViewMultipleHeaderMerging.PNG" imageanchor="1" style=""&gt;&lt;img border="0" height="502" width="655" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/GridViewMultipleHeaderMerging.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-8788226411724800708?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/8788226411724800708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=8788226411724800708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8788226411724800708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8788226411724800708'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/12/merging-gridview-with-multiple-headers.html' title='Merging Gridview with Multiple Headers'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-1840340869995258326</id><published>2011-10-12T15:09:00.000+05:30</published><updated>2012-01-19T18:03:28.480+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>AddressAccessDeniedException in WCF 2010</title><content type='html'>Today when executing the service it gives the below exception.&lt;i&gt;&lt;br/&gt;HTTP could not register &lt;br/&gt;URL http://+:8002/.../. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for detail&lt;/i&gt;s).&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-locSJYgaI5c/TpVeYRNF3QI/AAAAAAAAALQ/f7bnveN7u5I/s1600/AddressAccessDeniedException.png" imageanchor="1" style=""&gt;&lt;img border="0" height="278" width="400" src="http://2.bp.blogspot.com/-locSJYgaI5c/TpVeYRNF3QI/AAAAAAAAALQ/f7bnveN7u5I/s400/AddressAccessDeniedException.png" /&gt;&lt;/a&gt;&lt;/div&gt;The reason for the above exception is given in the book Programming WCF Services O'REILLY by JUVAL LOWY&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-naE57UY7IPE/TpVjQfoTs8I/AAAAAAAAALc/sv2mpBOqZ4A/s1600/AddressAccessDeniedExceptionResion.png" imageanchor="1" style=""&gt;&lt;img border="0" height="165" width="400" src="http://4.bp.blogspot.com/-naE57UY7IPE/TpVjQfoTs8I/AAAAAAAAALc/sv2mpBOqZ4A/s400/AddressAccessDeniedExceptionResion.png" title="Click to see the full image.!!!"/&gt;&lt;/a&gt;&lt;/div&gt;How to instruct windows to register the URL&lt;ul&gt;&lt;li&gt;Go to programs and select "Visual Studio Tools"&lt;/li&gt;&lt;li&gt;Right click on Visual Stutdio Command Prompt and select Run as administrator&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-85fu7D1iPJ0/TpVj-lg-a0I/AAAAAAAAALo/xVxnwaSqfVA/s1600/Run%2BAs%2BAdministrator.png" imageanchor="1" style=""&gt;&lt;img border="0" height="400" width="306" src="http://4.bp.blogspot.com/-85fu7D1iPJ0/TpVj-lg-a0I/AAAAAAAAALo/xVxnwaSqfVA/s400/Run%2BAs%2BAdministrator.png" title="Click to see the full image.!!!"/&gt;&lt;/a&gt;&lt;/div&gt;We get a command prompt shows the path "C:\WINDOWS\system32"We have to give &lt;i&gt;&lt;b&gt;netsh http add urlacl url=http://+:8002/ user="MachineOrDomain\UserName"&lt;/b&gt;&lt;/i&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fiNWFWF9J6E/TpVkELVAwxI/AAAAAAAAAL0/YY_mZREUznw/s1600/Run%2BAs%2BAdministrator%2BCMD.png" imageanchor="1" style=""&gt;&lt;img border="0" height="83" width="400" src="http://4.bp.blogspot.com/-fiNWFWF9J6E/TpVkELVAwxI/AAAAAAAAAL0/YY_mZREUznw/s400/Run%2BAs%2BAdministrator%2BCMD.png" title="Click to see the full image.!!!"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a title="Click to see the full image.!!!" href="http://3.bp.blogspot.com/-KrjCqEhzscg/TpVkI6m0vQI/AAAAAAAAAMA/uGup84JRXvA/s1600/Final.png" imageanchor="1" style=""&gt;&lt;img border="0" height="230" width="400" src="http://3.bp.blogspot.com/-KrjCqEhzscg/TpVkI6m0vQI/AAAAAAAAAMA/uGup84JRXvA/s400/Final.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-1840340869995258326?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/1840340869995258326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=1840340869995258326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1840340869995258326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1840340869995258326'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/10/addressaccessdeniedexception-in-wcf.html' title='AddressAccessDeniedException in WCF 2010'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-locSJYgaI5c/TpVeYRNF3QI/AAAAAAAAALQ/f7bnveN7u5I/s72-c/AddressAccessDeniedException.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-1442974550270479658</id><published>2011-10-06T15:54:00.001+05:30</published><updated>2011-10-12T12:49:45.302+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>@@IDENTITY vs SCOPE_IDENTITY() vs IDENT_CURRENT – Retrieve Last Inserted Identity of Record</title><content type='html'>&lt;table border="1" cellpadding="0" cellspacing="0"&gt;                        &lt;tbody&gt;&lt;tr style="font-weight: bold;"&gt;                             &lt;td&gt;@@IDENTITY                            &lt;/td&gt;                            &lt;td&gt;SCOPE_IDENTITY                            &lt;/td&gt;                            &lt;td&gt;IDENT_CURRENT                            &lt;/td&gt;                            &lt;td&gt;IDENT_SEED                            &lt;/td&gt;                            &lt;td&gt;IDENT_INCR                            &lt;/td&gt;                        &lt;/tr&gt;&lt;tr valign="top"&gt;                            &lt;td&gt;Any table&lt;br /&gt;Current session&lt;br /&gt;Any scopes.                            &lt;/td&gt;                            &lt;td&gt;Any table&lt;br /&gt;Current session&lt;br /&gt;Current scope.                            &lt;/td&gt;                            &lt;td&gt;Specific table&lt;br /&gt;Any session&lt;br /&gt;Any scope.                            &lt;/td&gt;                            &lt;td&gt;Returns the                                &lt;br /&gt;original seed value&lt;br /&gt;If we re-seed using                                &lt;br /&gt;DBCC CHECKIDENT                                &lt;br /&gt;won't change the                                &lt;br /&gt;value.                            &lt;/td&gt;                            &lt;td&gt;Returns the                                &lt;br /&gt;increment value                                &lt;br /&gt;specified during                                &lt;br /&gt;the creation of an                                &lt;br /&gt;identity column in a                                &lt;br /&gt;table or view                                &lt;br /&gt;that has an identity                                &lt;br /&gt;column.                            &lt;/td&gt;                        &lt;/tr&gt;&lt;tr&gt;                            &lt;td&gt;Table or View&lt;/td&gt;                            &lt;td&gt;Table or View&lt;/td&gt;                            &lt;td&gt;Table or View&lt;/td&gt;                            &lt;td&gt;&lt;/td&gt;                            &lt;td&gt;&lt;/td&gt;                        &lt;/tr&gt;&lt;tr&gt;                            &lt;td&gt;If user truncates or                                &lt;br /&gt;drop the table                                &lt;br /&gt;also, it                                &lt;br /&gt;will return the last                                &lt;br /&gt;identity value                                &lt;br /&gt;generated in the                                &lt;br /&gt;current session&lt;/td&gt;                            &lt;td&gt;If user truncates or                                &lt;br /&gt;drop the table also,                                &lt;br /&gt;it will return the last                                &lt;br /&gt;identity value                                &lt;br /&gt;generated in the                                &lt;br /&gt;current session&lt;/td&gt;                            &lt;td&gt;If user truncated                                &lt;br /&gt;the table it will                                &lt;br /&gt;return the &lt;b&gt;Ident_Seed&lt;/b&gt;                                &lt;br /&gt;value.&lt;br /&gt;&lt;br /&gt;It return null                                &lt;br /&gt;when user drop                                &lt;br /&gt;the table.&lt;/td&gt;                            &lt;td&gt;&lt;/td&gt;                        &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;A &lt;b&gt;scope&lt;/b&gt; is a module: a stored procedure, trigger, function, or batch. &lt;br /&gt;Each query window in Query Analyzer is a &lt;b&gt;session&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to get all the session running in the server?&lt;/b&gt;&lt;br /&gt;EXEC sp_who 'test';&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Z7oI3mkICGo/To2A5cGGmkI/AAAAAAAAAK8/xt6BBUxIiCA/s1600/Sessions.JPG" imageanchor="1"&gt;&lt;img border="0" height="64" src="http://3.bp.blogspot.com/-Z7oI3mkICGo/To2A5cGGmkI/AAAAAAAAAK8/xt6BBUxIiCA/s400/Sessions.JPG" width="494" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;How to check the current session&lt;/b&gt;&lt;pre class="sql" name="code"&gt;SELECT @@SPID       SessionID,&lt;br /&gt;       USER_NAME()  AS [User_Name] ,&lt;br /&gt;       SUSER_NAME() AS [Login identification name of the user.],&lt;br /&gt;       CURRENT_USER AS [Name of the current user] ,&lt;br /&gt;       SYSTEM_USER  AS [System_user],&lt;br /&gt;       SESSION_USER AS [Session_user],&lt;br /&gt;       USER         AS [User]&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;IDENT_SEED&lt;/b&gt;&lt;br/&gt;  &lt;ol&gt;&lt;li&gt;DBCC CHECKIDENT ('dbo.IdentityTest', RESEED, 10)&lt;/li&gt;&lt;li&gt;Returns the original seed value, if we re-seed using DBCC CHECKIDENT.&lt;/li&gt;&lt;li&gt;&lt;dl&gt;&lt;dt&gt;IDENT_SEED will return the seed value created for the Idetntiy column( when table creation or  Alteration).&lt;/dt&gt;&lt;dd&gt; It won't changed by DBCC CHECKIDENT ('dbo.IdentityTest', RESEED, 10)&lt;/dd&gt;      &lt;/dl&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-LuQh4A5HmlE/To2FZfESueI/AAAAAAAAALE/ZcQNiTvd_g8/s1600/IDENT_CURRENT.JPG" imageanchor="1"&gt;&lt;img border="0" height="32" src="http://3.bp.blogspot.com/-LuQh4A5HmlE/To2FZfESueI/AAAAAAAAALE/ZcQNiTvd_g8/s400/IDENT_CURRENT.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;References&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.howtogeek.com/howto/database/reset-identity-column-value-in-sql-server/"&gt;&lt;span style="color: green; text-decoration: underline"&gt;RESED Identity Column&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.sqlauthority.com/2007/03/25/sql-server-identity-vs-scope_identity-vs-ident_current-retrieve-last-inserted-identity-of-record/"&gt;&lt;span style="color: green; text-decoration: underline"&gt;SQLAuthority&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-1442974550270479658?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/1442974550270479658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=1442974550270479658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1442974550270479658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1442974550270479658'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/10/identity-vs-scopeidentity-vs.html' title='@@IDENTITY vs SCOPE_IDENTITY() vs IDENT_CURRENT – Retrieve Last Inserted Identity of Record'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Z7oI3mkICGo/To2A5cGGmkI/AAAAAAAAAK8/xt6BBUxIiCA/s72-c/Sessions.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-7991953949039866118</id><published>2011-09-26T16:12:00.001+05:30</published><updated>2011-09-26T16:14:01.019+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Trim Leading Or Trailing Control Characters</title><content type='html'>&lt;pre class="sql" name="code"&gt;DECLARE @MyString VARCHAR(1000)&lt;br /&gt;--Control character&lt;br /&gt;&lt;br /&gt;DECLARE @Tab            VARCHAR(2)&lt;br /&gt;DECLARE @LineFeed       VARCHAR(2)&lt;br /&gt;DECLARE @CarriageReturn VARCHAR(2)&lt;br /&gt;DECLARE @SearchPattern  VARCHAR(10)&lt;br /&gt;&lt;br /&gt;SET @Tab            =              CHAR(9)&lt;br /&gt;SET @LineFeed       =              CHAR(10)&lt;br /&gt;SET @CarriageReturn =              CHAR(13)&lt;br /&gt;&lt;br /&gt;--Search for any single of more chars not with specified range&lt;br /&gt;SET @SearchPattern = '%[^ '   + @Tab + @LineFeed + @CarriageReturn + ']%'&lt;br /&gt;&lt;br /&gt;SET @MyString = CHAR(10) + ' ' + CHAR(10)+ CHAR(9) + 'My name is ' + CHAR(10) &lt;br /&gt;				+ ' babu ' + CHAR(10) + ' ' + CHAR(10) + CHAR(10) + ' ' + CHAR(10)&lt;br /&gt;&lt;br /&gt;SELECT LEN(@MyString) AS TotalLength&lt;br /&gt;SELECT @MyString AS MyString&lt;br /&gt;&lt;br /&gt;SELECT LEN( &lt;br /&gt;RTRIM( LTRIM( &lt;br /&gt;	SUBSTRING( @MyString, &lt;br /&gt;		PATINDEX(@SearchPattern, @MyString), &lt;br /&gt;		LEN(@MyString) - PATINDEX(@SearchPattern, @MyString) - PATINDEX(@SearchPattern, &lt;br /&gt;		REVERSE(@MyString)) + 2&lt;br /&gt;		) &lt;br /&gt;	) ) &lt;br /&gt;) AS AfterTrimedLength&lt;br /&gt;&lt;br /&gt;SELECT &lt;br /&gt;RTRIM( LTRIM( &lt;br /&gt;	SUBSTRING( @MyString, &lt;br /&gt;		PATINDEX(@SearchPattern, @MyString), &lt;br /&gt;		LEN(@MyString) - PATINDEX(@SearchPattern, @MyString) - PATINDEX(@SearchPattern, &lt;br /&gt;		REVERSE(@MyString)) + 2&lt;br /&gt;		) &lt;br /&gt;	) ) AS AfterTrimed&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-7991953949039866118?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/7991953949039866118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=7991953949039866118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7991953949039866118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7991953949039866118'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/09/trim-leading-or-trailing-control.html' title='Trim Leading Or Trailing Control Characters'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-1322557190614830373</id><published>2011-09-13T15:32:00.003+05:30</published><updated>2011-09-13T16:12:32.558+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>Auto center pop up window</title><content type='html'>&lt;pre class="javascript" name="code"&gt;&lt;br /&gt;function PopupCenter() {&lt;br /&gt;    var width = 600;&lt;br /&gt;    var height = 480;&lt;br /&gt;    var top = (screen.height / 2) - (height / 2);&lt;br /&gt;    var left = (screen.width / 2) - (width / 2);&lt;br /&gt;&lt;br /&gt;    var parametar = 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + width + ', height=' + height + ', top=' + top + ', left=' + left;&lt;br /&gt;    var url = 'Default.aspx'&lt;br /&gt;    var windowName = 'Default';&lt;br /&gt;    var targetWin = window.open(url, windowName, parametar);&lt;br /&gt;    targetWin.focus();&lt;br /&gt;    return false;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;strong&gt;Page with query string&lt;/strong&gt;&lt;pre class="javascript" name="code"&gt;&lt;br /&gt;function PopupCenter(Name, Age) {&lt;br /&gt;    var width = 600;&lt;br /&gt;    var height = 480;&lt;br /&gt;    var top = (screen.height / 2) - (height / 2);&lt;br /&gt;    var left = (screen.width / 2) - (width / 2);&lt;br /&gt;&lt;br /&gt;    var parametar = 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + width + ', height=' + height + ', top=' + top + ', left=' + left;&lt;br /&gt;    var url = 'Default.aspx?Name=' + Name + '&amp;Age=' + Age;&lt;br /&gt;    var windowName = 'Default';&lt;br /&gt;    var targetWin = window.open(url, windowName, parametar);&lt;br /&gt;    targetWin.focus();&lt;br /&gt;    return false;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;a href="http://www.javascripter.net/faq/openinga.htm"&gt;&lt;br /&gt;&lt;span style="color: green; text-decoration: underline"&gt;www.javascripter.net&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms536651(v=vs.85).aspx"&gt;&lt;span style="color: green; text-decoration: underline"&gt;msdn&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.htmlgoodies.com/beyond/javascript/article.php/3471221/So-You-Want-To-Open-A-Window-Huh.htm"&gt;&lt;span style="color: green; text-decoration: underline"&gt;htmlgoodies&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-1322557190614830373?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/1322557190614830373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=1322557190614830373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1322557190614830373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1322557190614830373'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/09/auto-center-pop-up-window.html' title='Auto center pop up window'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-5717443481611829210</id><published>2011-08-05T19:39:00.012+05:30</published><updated>2012-01-19T18:04:01.466+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Service'/><title type='text'>Creating a Windows Service in C#.net and call a method every hour</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;                 &lt;td&gt;In Visual Studio Select File-&amp;gt;New-&amp;gt;Project&lt;br /&gt;Select Windows and select Windows Service&lt;br /&gt;&lt;img alt="" height="494" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/1.JPG" width="678" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;Right click on the Service1 designer and select Add Installer.&lt;br /&gt;This adds&amp;nbsp;ProjectInstaller&lt;br /&gt;&lt;img alt="" height="740" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/2.JPG" width="1024" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="221" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/3.JPG" width="229" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="208" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/4.JPG" width="685" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; font-size: x-small;"&gt;To avoid &lt;b&gt;Set Service Login&lt;/b&gt; prompt being asked about the system username and password you must change the Account for the serviceProcessInstaller to LocalSystem.&lt;/span&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.serviceprocess.serviceaccount.aspx"&gt;ServiceAccount Enumeration&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.windowsitpro.com/article/services/understanding-the-local-service-and-network-service-accounts"&gt;ServiceAccount&lt;/a&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/510170/the-difference-between-the-local-system-account-and-the-network-service-accou"&gt;stackoverflow&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" height="191" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/4.1.JPG" width="368" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="294" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/5.JPG" width="666" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;img alt="" height="283" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/6.JPG" width="658" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;How to Start the service automatically?&lt;/b&gt;&lt;br /&gt;&lt;img alt="" height="286" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/7.JPG" width="651" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="515" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/8.JPG" width="848" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;Rename&amp;nbsp;Service1 to to MyService&lt;br /&gt;&lt;img alt="" height="221" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/9.JPG" width="257" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;Create a folder and write the code to write to file&lt;br /&gt;&lt;br /&gt;&lt;img alt="" height="147" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/10.JPG" width="188" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;b&gt;How to check whether the service called function is working or not?&lt;/b&gt;&lt;br /&gt;Right click on the Solution(DemoService) and select Add -&amp;gt; New Project&lt;br /&gt;This console application is used to test whether file writing works or not.&lt;br /&gt;&lt;img alt="" height="443" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/11.JPG" width="683" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;b&gt;How to create Service Installer?&lt;/b&gt;&lt;br /&gt;Right click on the Solution(DemoService) and select Add -&amp;gt; New Project&lt;br /&gt;Select Other Project Types -&amp;gt; Setup and Deployment -&amp;gt; Setup Project&lt;br /&gt;&lt;br /&gt;&lt;img alt="" height="443" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/12.JPG" width="680" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;We will get the below screen.&lt;br /&gt;&lt;img alt="" height="110" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/13.JPG" width="631" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;Right click&amp;nbsp;on the Setup project&lt;br /&gt;&lt;img alt="" height="371" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/14.JPG" width="387" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;Select the service project&lt;br /&gt;&lt;img alt="" height="387" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/15.JPG" width="325" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="372" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/16.JPG" width="355" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="85" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/17.JPG" width="242" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="336" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/18.JPG" width="461" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;Double click on the Application Folder&lt;br /&gt;&lt;img alt="" height="335" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/19.JPG" width="460" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;Press Ok.&lt;br /&gt;&lt;img alt="" height="171" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/20.JPG" width="282" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;Select the setup project and press F4&lt;br /&gt;Manufacturer will come in path as "C:\Program Files\ManufacturerValue"&lt;br /&gt;Title will come in Setup Wizard&lt;br /&gt;&lt;img alt="" height="470" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/21.JPG" width="346" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="380" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/27.JPG" width="369" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;Click on Configuration Manager&lt;br /&gt;&lt;img alt="" height="440" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/28.JPG" width="637" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;Change Debug mode to Release for the Service and Setup projects&lt;br /&gt;&lt;img alt="" height="444" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/29.JPG" width="636" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="446" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/30.JPG" width="638" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img alt="" height="370" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/22.JPG" width="370" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img alt="" height="370" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/23.JPG" width="369" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img alt="" height="414" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/24.JPG" width="503" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img alt="" height="416" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/25.JPG" width="505" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;To avoid this prompt give&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; font-size: x-small;"&gt;LocalSystem to Account property of&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; font-size: x-small;"&gt;serviceProcessInstaller.&lt;/span&gt;&lt;br /&gt;&lt;img alt="" height="166" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/26.JPG" width="342" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" height="415" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/31.JPG" width="504" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;Type control in run and select&amp;nbsp;Administrative&amp;nbsp;Tools -&amp;gt; Services&lt;br /&gt;&lt;img alt="" height="78" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/32.JPG" width="732" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="136" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/33.JPG" width="347" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="370" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/34.JPG" width="368" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="153" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/35.JPG" width="401" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;Make the service to call every 10 minutes&lt;br /&gt;Create a file as the below image&lt;br /&gt;&lt;img alt="" height="243" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/36.JPG" width="226" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;img alt="" height="447" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WindowsService/37.JPG" width="797" /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td&gt;&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;public class WriteToFile&lt;br /&gt;    {&lt;br /&gt;        public WriteToFile()&lt;br /&gt;        {&lt;br /&gt;            string strDateTime = DateTime.Now.ToString();&lt;br /&gt;            StreamWriter sw = new StreamWriter(Path.Combine(System.IO.Path.GetTempPath(), "babu.txt"), true);&lt;br /&gt;            sw.WriteLine(strDateTime);&lt;br /&gt;&lt;br /&gt;            sw.Close();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;Update the MyService.cs file&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.ComponentModel;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Diagnostics;&lt;br /&gt;using System.ServiceProcess;&lt;br /&gt;using System.Text;&lt;br /&gt;using DemoService.Functions;&lt;br /&gt;using System.Timers;&lt;br /&gt;&lt;br /&gt;namespace DemoService&lt;br /&gt;{&lt;br /&gt;    public partial class MyService : ServiceBase&lt;br /&gt;    {&lt;br /&gt;        //Make the service to call the for every 5 min&lt;br /&gt;        System.Timers.Timer TimerObj = new System.Timers.Timer(ConvertMinutesToMilliseconds(5));&lt;br /&gt;&lt;br /&gt;        public MyService()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected override void OnStart(string[] args)&lt;br /&gt;        {&lt;br /&gt;            // TODO: Add code here to start your service.&lt;br /&gt;            TimerObj.Elapsed += new ElapsedEventHandler(OnElapsedTime);&lt;br /&gt;            TimerObj.Enabled = true;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected override void OnStop()&lt;br /&gt;        {&lt;br /&gt;            // TODO: Add code here to perform any tear-down necessary to stop your service.&lt;br /&gt;            TimerObj.Enabled = false;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// At the end of every 5 min the event will be triggered.&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="source" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        /// &lt;param name="e" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        protected void OnElapsedTime(object source, ElapsedEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            //Write the current datetime to the file&lt;br /&gt;            WriteToFile objWriteToFile = new WriteToFile();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// Convert minutes to milliseconds&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="minutes" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        /// &lt;returns&gt;&lt;/returns&gt;&lt;br /&gt;        public static double ConvertMinutesToMilliseconds(double minutes)&lt;br /&gt;        {&lt;br /&gt;            return TimeSpan.FromMinutes(minutes).TotalMilliseconds;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-5717443481611829210?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/5717443481611829210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=5717443481611829210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5717443481611829210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5717443481611829210'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/08/windows-service-creation-and-call.html' title='Creating a Windows Service in C#.net and call a method every hour'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-4532336588077733071</id><published>2011-07-08T12:29:00.003+05:30</published><updated>2011-07-08T12:29:02.196+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theme'/><title type='text'>Switch Theme Without Postback</title><content type='html'>&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;using System;&lt;br /&gt;&lt;br /&gt;using System.Data;&lt;br /&gt;&lt;br /&gt;using System.Configuration;&lt;br /&gt;&lt;br /&gt;using System.Collections;&lt;br /&gt;&lt;br /&gt;using System.Web;&lt;br /&gt;&lt;br /&gt;using System.Web.Security;&lt;br /&gt;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;&lt;br /&gt;using System.Web.UI.WebControls.WebParts;&lt;br /&gt;&lt;br /&gt;using System.Web.UI.HtmlControls;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public partial class ChangeTheme : System.Web.UI.Page, ICallbackEventHandler&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; protected void Page_PreInit(object sender, EventArgs e)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //If theme is null or not changed by user use Default theme&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (String.IsNullOrEmpty(Convert.ToString(Session["Theme"])))&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Page.Theme = "Default";&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Page.Theme = Convert.ToString(Session["Theme"]);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //JavaScript Callbacks&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ClientScriptManager scriptManager = Page.ClientScript;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String cbReference = scriptManager.GetCallbackEventReference(this, "returnValue", "ReceiveServerData", "context");&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String callbackScript = "function CallServer(returnValue, context) {" + cbReference + "; }";&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scriptManager.RegisterClientScriptBlock(this.GetType(), "CallServer", callbackScript, true);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TextBox1.Text = DateTime.Now.ToString();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; #region ICallbackEventHandler Members&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; //Return value from the server to the client&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; string ICallbackEventHandler.GetCallbackResult()&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Convert.ToString(Session["Theme"]);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; //Get the theme name from the javascript function&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; public void RaiseCallbackEvent(string eventArgument)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Session["Theme"] = eventArgument.Trim();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; #endregion&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="aspx" name="code"&gt;&amp;lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChangeTheme.aspx.cs" Inherits="ChangeTheme" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;head runat="server"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;link href="StyleSheet.css" rel="stylesheet" type="text/css" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;link href="StyleSheet3.css" rel="stylesheet" type="text/css" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;link href="App_Themes/Default/StyleSheet.css" rel="stylesheet" type="text/css" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;script language="javascript" type="text/javascript"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var updatedTheme = '';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function createjscssfile(filename, filetype) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (filetype == "js") { //if filename is a external JavaScript file&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var fileref = document.createElement('script')&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fileref.setAttribute("type", "text/javascript")&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fileref.setAttribute("src", filename)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; } else if (filetype == "css") { //if filename is an external CSS file&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var fileref = document.createElement("link")&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fileref.setAttribute("rel", "stylesheet")&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fileref.setAttribute("type", "text/css")&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fileref.setAttribute("href", filename)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; return fileref&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function replacejscssfile(newTheme, filetype) {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; updatedTheme = newTheme;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; var targetelement = (filetype == "js") ? "script" : (filetype == "css") ? "link" : "none" //determine element type to create nodelist using&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; var targetattr = (filetype == "js") ? "src" : (filetype == "css") ? "href" : "none" //determine corresponding attribute to test for&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; var allsuspects = document.getElementsByTagName(targetelement)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; for (var i = allsuspects.length; i &amp;gt;= 0; i--) { //search backwards within nodelist for matching elements to remove&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /*new updates starts*/&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //var newTheme = ''&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var oldTheme = ''&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (allsuspects[i] &amp;amp;&amp;amp; allsuspects[i].getAttribute(targetattr) != null) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var lnk = allsuspects[i].getAttribute(targetattr);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (lnk.indexOf("App_Themes") != -1) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var from = lnk.indexOf('/', 0);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var to = lnk.indexOf('/', from + 1);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oldTheme = lnk.substring(from + 1, to)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Get old theme full path &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //oldTheme = lnk.substring(0, from + 1) + lnk.substring(from +1, to) + lnk.substring(to, lnk.length)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oldTheme = lnk&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newTheme = lnk.substring(0, from + 1) + newTheme + lnk.substring(to, lnk.length)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (allsuspects[i] &amp;amp;&amp;amp; allsuspects[i].getAttribute(targetattr) != null &amp;amp;&amp;amp; allsuspects[i].getAttribute(targetattr).indexOf(oldTheme) != -1) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //var newelement = createjscssfile(newfilename, filetype)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var newelement = createjscssfile(newTheme, filetype)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; allsuspects[i].parentNode.replaceChild(newelement, allsuspects[i])&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /*new updates ends*/&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /*&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (allsuspects[i] &amp;amp;&amp;amp; allsuspects[i].getAttribute(targetattr) != null &amp;amp;&amp;amp; allsuspects[i].getAttribute(targetattr).indexOf(oldfilename) != -1) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //var newelement = createjscssfile(newfilename, filetype)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var newelement = createjscssfile(newTheme, filetype)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; allsuspects[i].parentNode.replaceChild(newelement, allsuspects[i])&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function ReceiveServerData(returnValue, context) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alert(returnValue);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function SendRequest() {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CallServer(updatedTheme);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return false;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;form id="form1" runat="server"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div style ="height:auto; width:auto;"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;asp:TextBox ID="TextBox1" runat="server" CssClass="input"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div id="theme-preview-dialog" class="modal xl yui3-overlay-content yui3-widget-stdmod"&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; role="dialog" style="display: block;" tabindex="0"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;h2 class="modal-hd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Themes &amp;lt;span class="close" data-action="cancel" title="Close"&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/h2&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div class="modal-bd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Preview the themes below and customise my site! with your favourite!&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div class="inner themes" id="yui_3_2_0_1_13091761919062132"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div id="purple" class="theme "&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;a href="JavaScript:replacejscssfile('Green', 'css');" title="Purple"&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div id="orange" class="theme"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;a href="JavaScript:replacejscssfile('Red', 'css');" title="orange"&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div id="blue" class="theme"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;a href="JavaScript:replacejscssfile('Default', 'css');" title="blue"&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div class="modal-ft"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;asp:Button ID="btnApplyTheme" runat="server" Text="Apply Theme" OnClientClick="return SendRequest()" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You can see the time is not changed.&lt;br /&gt;&lt;br /&gt;The style set for the background body and the textbox.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-5JklPZKo38Q/ThaqRyjbjYI/AAAAAAAAAIw/4F2QgeQ1Zh4/s1600/Dynamic+Theme.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-5JklPZKo38Q/ThaqRyjbjYI/AAAAAAAAAIw/4F2QgeQ1Zh4/s1600/Dynamic+Theme.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-4532336588077733071?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/4532336588077733071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=4532336588077733071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/4532336588077733071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/4532336588077733071'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/07/switch-theme-without-postback.html' title='Switch Theme Without Postback'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-5JklPZKo38Q/ThaqRyjbjYI/AAAAAAAAAIw/4F2QgeQ1Zh4/s72-c/Dynamic+Theme.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-6331317160048522364</id><published>2011-07-07T15:19:00.005+05:30</published><updated>2011-07-07T15:22:45.583+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><title type='text'>Missing ASP.NET Web Application template in Visual Studio 2005?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-cGJZYLFAm4M/ThWAkmwnhYI/AAAAAAAAAIs/MrTkOgq1LTM/s1600/ASP+NET+Web+Application.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-cGJZYLFAm4M/ThWAkmwnhYI/AAAAAAAAAIs/MrTkOgq1LTM/s320/ASP+NET+Web+Application.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;First Install&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="color: #313c46; font-family: Arial; font-size: 10pt;"&gt;&lt;a href="http://download.microsoft.com/download/8/0/8/8086c312-16b1-4e54-a4cc-80a6c171112e/VS80-KB915364-X86-ENU.exe" target="_new"&gt;&lt;span style="border-bottom-color: windowtext; border-bottom-style: none; border-bottom-width: 0in; border-left-color: windowtext; border-left-style: none; border-left-width: 0in; border-right-color: windowtext; border-right-style: none; border-right-width: 0in; border-top-color: windowtext; border-top-style: none; border-top-width: 0in; color: #034efa; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in; text-decoration: none;"&gt;http://download.microsoft.com/download/8/0/8/8086c312-16b1-4e54-a4cc-80a6c171112e/VS80-KB915364-X86-ENU.exe&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="color: #313c46; font-family: Arial; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #313c46; font-family: Arial; font-size: 10pt;"&gt;&lt;br style="mso-special-character: line-break;" /&gt; &lt;br style="mso-special-character: line-break;" /&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: #313c46; font-family: Arial; font-size: 10pt;"&gt;Second Install&lt;br /&gt;&lt;span class="apple-style-span"&gt;&lt;a href="http://download.microsoft.com/download/9/0/6/906064ce-0bd1-4328-af40-49dca1aef87c/WebApplicationProjectSetup.msi" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-color: initial; border-style: initial; outline-color: initial; outline-style: initial; outline-width: 0px;" target="_new"&gt;&lt;span style="border-bottom-color: windowtext; border-bottom-style: none; border-bottom-width: 0in; border-left-color: windowtext; border-left-style: none; border-left-width: 0in; border-right-color: windowtext; border-right-style: none; border-right-width: 0in; border-top-color: windowtext; border-top-style: none; border-top-width: 0in; color: #034efa; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in; text-decoration: none;"&gt;http://download.microsoft.com/download/9/0/6/906064ce-0bd1-4328-af40-49dca1aef87c/WebApplicationProjectSetup.msi&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="color: #313c46; font-family: Arial; font-size: 10pt;"&gt;This will not work in express edition&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-6331317160048522364?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/6331317160048522364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=6331317160048522364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6331317160048522364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6331317160048522364'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/07/missing-aspnet-web-application-template.html' title='Missing ASP.NET Web Application template in Visual Studio 2005?'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-cGJZYLFAm4M/ThWAkmwnhYI/AAAAAAAAAIs/MrTkOgq1LTM/s72-c/ASP+NET+Web+Application.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-7431561877041037665</id><published>2011-03-26T18:39:00.001+05:30</published><updated>2011-09-26T16:21:25.918+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='GridView'/><title type='text'>GridView makeover using CSS</title><content type='html'>&lt;pre class="csharp" name="code"&gt;&lt;div id="container"&gt;&lt;asp:GridView ID="gvStylish" runat="server" CssClass="mGrid" AutoGenerateColumns="false"&lt;br /&gt;                AllowPaging="True" PageSize="4" AllowSorting="true" OnPageIndexChanging="gvStylish_PageIndexChanging"&lt;br /&gt;                OnRowDataBound="gvStylish_RowDataBound" OnSorting="gvStylish_Sorting"&gt;&lt;br /&gt;                &lt;rowstyle CssClass="RowStyle" /&gt;&lt;br /&gt;                &lt;pagerstyle CssClass="pgr" /&gt;&lt;br /&gt;                &lt;alternatingrowstyle CssClass="alt" /&gt;&lt;br /&gt;                &lt;columns&gt;&lt;br /&gt;                    &lt;asp:BoundField HeaderText="CustomerID" DataField="CustomerID" SortExpression="CustomerID" /&gt;&lt;br /&gt;                    &lt;asp:BoundField HeaderText="CompanyName" DataField="CompanyName" SortExpression="CompanyName" /&gt;&lt;br /&gt;                    &lt;asp:BoundField HeaderText="ContactName" DataField="ContactName" SortExpression="ContactName" /&gt;&lt;br /&gt;                    &lt;asp:BoundField HeaderText="ContactTitle" DataField="ContactTitle" SortExpression="ContactTitle" /&gt;&lt;br /&gt;                    &lt;asp:BoundField HeaderText="Address" DataField="Address" SortExpression="Address" /&gt;&lt;br /&gt;                    &lt;asp:BoundField HeaderText="City" DataField="City" SortExpression="City" /&gt;&lt;br /&gt;                &lt;/Columns&gt;&lt;br /&gt;            &lt;/asp:GridView&gt;&lt;br /&gt;        &lt;/div&gt;&lt;/pre&gt;&lt;pre class="csharp" name="code"&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Configuration;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.Security;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;using System.Web.UI.WebControls.WebParts;&lt;br /&gt;using System.Web.UI.HtmlControls;&lt;br /&gt;&lt;br /&gt;//http://atashbahar.com/post/GridView-makeover-using-CSS.aspx&lt;br /&gt;public partial class StylishGridView_Demo_GridViewMakeOver : System.Web.UI.Page&lt;br /&gt;{&lt;br /&gt;    CustomersDataObject objData = null;&lt;br /&gt;    protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;        if (!IsPostBack)&lt;br /&gt;        {&lt;br /&gt;            objData = new CustomersDataObject();&lt;br /&gt;            //DataTable dt =  objData.Select().Table ;&lt;br /&gt;            gvStylish.DataSource = objData.Select();&lt;br /&gt;            gvStylish.DataBind();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected void gvStylish_Sorting(object sender, GridViewSortEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        //Change sort direction&lt;br /&gt;        SortDirection = SortDirection == SortDirection.Descending ? SortDirection.Ascending : SortDirection.Descending;&lt;br /&gt;        string sSortExpression = SortDirection == SortDirection.Ascending ? " Asc" : " Desc";&lt;br /&gt;&lt;br /&gt;        //If new column, set as asc&lt;br /&gt;        if (Convert.ToString(SortExpression) != e.SortExpression)&lt;br /&gt;        {&lt;br /&gt;            SortDirection = SortDirection.Ascending;&lt;br /&gt;            sSortExpression = " Asc";&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        sSortExpression = e.SortExpression + sSortExpression;&lt;br /&gt;        SortExpression = e.SortExpression;&lt;br /&gt;&lt;br /&gt;        objData = new CustomersDataObject();&lt;br /&gt;        gvStylish.DataSource = new DataView(objData.Select().Table, string.Empty, sSortExpression, DataViewRowState.CurrentRows);&lt;br /&gt;        gvStylish.DataBind();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected void gvStylish_PageIndexChanging(object sender, GridViewPageEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        objData = new CustomersDataObject();&lt;br /&gt;        //DataTable dt =  objData.Select().Table ;&lt;br /&gt;        gvStylish.PageIndex = e.NewPageIndex;&lt;br /&gt;        gvStylish.DataSource = objData.Select();&lt;br /&gt;        gvStylish.DataBind();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected void gvStylish_RowDataBound(object sender, GridViewRowEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        GridView gridView = (GridView)sender;&lt;br /&gt;&lt;br /&gt;        //You have to set the SortExpression in the aspx page.&lt;br /&gt;        if (e.Row.RowType == DataControlRowType.Header)&lt;br /&gt;        {&lt;br /&gt;            //To add tooltip for the header&lt;br /&gt;            if (e.Row.RowType == DataControlRowType.Header)&lt;br /&gt;            {&lt;br /&gt;                foreach (TableCell cell in e.Row.Cells)&lt;br /&gt;                {&lt;br /&gt;                    foreach (Control ctl in cell.Controls)&lt;br /&gt;                    {&lt;br /&gt;                        if (ctl.GetType().ToString().Contains("DataControlLinkButton"))&lt;br /&gt;                        {&lt;br /&gt;                            cell.Attributes.Add("title", "Click to sort " + ((LinkButton)ctl).Text);&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            //Set default header style for the gridview&lt;br /&gt;            //Get sorted column index for the templated gridview&lt;br /&gt;            SortIndex = -1;&lt;br /&gt;            foreach (DataControlField field in gridView.Columns)&lt;br /&gt;            {&lt;br /&gt;                e.Row.Cells[gridView.Columns.IndexOf(field)].CssClass = "sortable";&lt;br /&gt;&lt;br /&gt;                if (!string.IsNullOrEmpty(SortExpression))&lt;br /&gt;                {&lt;br /&gt;                    if (field.SortExpression == SortExpression)&lt;br /&gt;                    {&lt;br /&gt;                        SortIndex = gridView.Columns.IndexOf(field);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            //Set Sorted style for the gridview header&lt;br /&gt;            if (SortIndex &gt; -1)&lt;br /&gt;                e.Row.Cells[SortIndex].CssClass = (SortDirection == SortDirection.Ascending&lt;br /&gt;                                            ? " sortable sorted asc" : " sortable sorted desc");&lt;br /&gt;        }&lt;br /&gt;        else if (e.Row.RowType == DataControlRowType.DataRow)&lt;br /&gt;        {&lt;br /&gt;            //To change color for the sorded gridvew entire column&lt;br /&gt;            if (SortIndex &gt; -1)&lt;br /&gt;                e.Row.Cells[SortIndex].CssClass += (e.Row.RowIndex % 2 == 0 ? " sortaltrow" : "sortrow");&lt;br /&gt;&lt;br /&gt;            //#region Add toolTip to the asp:CommandField Starts&lt;br /&gt;            //int lastCell = e.Row.Cells.Count - 1;&lt;br /&gt;            //foreach (Control ctrl in e.Row.Cells[lastCell].Controls)&lt;br /&gt;            //{&lt;br /&gt;            //    if (ctrl.GetType().BaseType.Name == "LinkButton")&lt;br /&gt;            //    {&lt;br /&gt;            //        LinkButton lnkBtn = ctrl as LinkButton;&lt;br /&gt;&lt;br /&gt;            //        switch (lnkBtn.Text.Trim())&lt;br /&gt;            //        {&lt;br /&gt;            //            case "Edit":&lt;br /&gt;            //                lnkBtn.ToolTip = "Click to edit the record.";&lt;br /&gt;            //                break;&lt;br /&gt;&lt;br /&gt;            //            case "Delete":&lt;br /&gt;            //                lnkBtn.Attributes.Add("onclick", "javascript:return confirm('Do you want to delete the selected Course?');");&lt;br /&gt;            //                lnkBtn.ToolTip = "Click to delete the record.";&lt;br /&gt;            //                break;&lt;br /&gt;            //        }&lt;br /&gt;            //    }&lt;br /&gt;            //}&lt;br /&gt;            //#endregion&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    #region "Properties"&lt;br /&gt;    public Int32 SortIndex&lt;br /&gt;    {&lt;br /&gt;        get&lt;br /&gt;        {&lt;br /&gt;            if (ViewState["_SortIndex_"] == null)&lt;br /&gt;                ViewState["_SortIndex_"] = -1;&lt;br /&gt;&lt;br /&gt;            return (Int32)ViewState["_SortIndex_"];&lt;br /&gt;        }&lt;br /&gt;        set { ViewState["_SortIndex_"] = value; }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public string SortExpression&lt;br /&gt;    {&lt;br /&gt;        get&lt;br /&gt;        {&lt;br /&gt;            if (ViewState["_SortExpression_"] == null)&lt;br /&gt;                ViewState["_SortExpression_"] = string.Empty;&lt;br /&gt;&lt;br /&gt;            return (string)ViewState["_SortExpression_"];&lt;br /&gt;        }&lt;br /&gt;        set { ViewState["_SortExpression_"] = value; }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public SortDirection SortDirection&lt;br /&gt;    {&lt;br /&gt;        get&lt;br /&gt;        {&lt;br /&gt;            if (ViewState["_SortDirection_"] == null)&lt;br /&gt;                ViewState["_SortDirection_"] = SortDirection.Ascending;&lt;br /&gt;&lt;br /&gt;            return (SortDirection)ViewState["_SortDirection_"];&lt;br /&gt;        }&lt;br /&gt;        set { ViewState["_SortDirection_"] = value; }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    #endregion&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre class="css" name="code"&gt;#container /*make horizontal center of a div*/&lt;br /&gt;{&lt;br /&gt; margin: 10px auto;&lt;br /&gt; width: 700px;&lt;br /&gt;}&lt;br /&gt;.mGrid&lt;br /&gt;{&lt;br /&gt; background-color: #fff;&lt;br /&gt; border: solid 1px #525252;&lt;br /&gt; border-collapse: collapse;&lt;br /&gt; margin: 5px 0 10px 0;&lt;br /&gt; width: 100%;&lt;br /&gt; font: 11px Tahoma;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*Header style starts*/&lt;br /&gt;.mGrid tr th&lt;br /&gt;{&lt;br /&gt; background: #424242 url(Images/grd_head.png) repeat-x top;&lt;br /&gt; border:0px;&lt;br /&gt; border-bottom: 1px solid #c1c1c1;&lt;br /&gt; border-right: 1px solid #c1c1c1;&lt;br /&gt; color: #fff;&lt;br /&gt; font-size: 0.9em;&lt;br /&gt; padding: 4px 2px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*Sorting Starts*/&lt;br /&gt;.mGrid tr th.sortable&lt;br /&gt;{&lt;br /&gt; padding: 0px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.mGrid tr th.sortable:hover&lt;br /&gt;{&lt;br /&gt; background: #b7e7fb url('Images/grid-header-sortable-back-hover.gif') top left repeat-x;&lt;br /&gt; border: 1px solid #C4C4C4;&lt;br /&gt; border-left: none;&lt;br /&gt; border-top: none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.mGrid tr th.sortable a&lt;br /&gt;{&lt;br /&gt; color: white;&lt;br /&gt; display: block;&lt;br /&gt; min-height: 1px;&lt;br /&gt; padding: 3px 3px 2px 2px;&lt;br /&gt; text-decoration: none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.mGrid tr th.sortable a:hover&lt;br /&gt;{&lt;br /&gt; text-decoration: none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.mGrid tr th.sorted&lt;br /&gt;{&lt;br /&gt; background: #d8ecf6 url('Images/grid-header-sorted-back.jpg') top left repeat-x;&lt;br /&gt; border: 1px solid #8B8878;&lt;br /&gt; border-left: none;&lt;br /&gt; border-top: none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.mGrid tr th.asc a&lt;br /&gt;{&lt;br /&gt; background: transparent url('Images/grid-header-asc-glyph.gif') center 1px no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.mGrid tr th.desc a&lt;br /&gt;{&lt;br /&gt; background: transparent url('Images/grid-header-desc-glyph.gif') center 1px no-repeat;&lt;br /&gt;}&lt;br /&gt;/*Sorting Ends*/&lt;br /&gt;&lt;br /&gt;.mGrid tr .RowStyle&lt;br /&gt;{&lt;br /&gt; border: 1px solid red;&lt;br /&gt; padding: 2px 6px 2px 4px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.mGrid tr.alt&lt;br /&gt;{&lt;br /&gt; background: #f2f9fc;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.mGrid tr.RowStyle:hover, .mGrid tr.alt:hover&lt;br /&gt;{&lt;br /&gt; background: #c1c1c1 url(Images/grid-header-hover.gif) repeat-x top;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/*Select entire sorted column starts*/&lt;br /&gt;.mGrid tr.RowStyle .sortaltrow, .mGrid tr.alt .sortaltrow &lt;br /&gt;{&lt;br /&gt;    background-color: #D6D6D6;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.mGrid tr.RowStyle .sortrow, .mGrid tr.alt .sortrow &lt;br /&gt;{&lt;br /&gt;    background-color: #EAEAEA;&lt;br /&gt;}&lt;br /&gt;/*Select entire sorted column ends*/&lt;br /&gt;&lt;br /&gt;.mGrid .pgr&lt;br /&gt;{&lt;br /&gt; background: #424242 url(Images/grd_pgr.png) repeat-x top;&lt;br /&gt; text-align: center; /*Make pager to be center*/&lt;br /&gt;}&lt;br /&gt;.mGrid .pgr table&lt;br /&gt;{&lt;br /&gt; margin: 5px 0;&lt;br /&gt;}&lt;br /&gt;.mGrid .pgr td&lt;br /&gt;{&lt;br /&gt; border-width: 0;&lt;br /&gt; color: #fff;&lt;br /&gt; font-weight: bold;&lt;br /&gt; line-height: 12px;&lt;br /&gt; padding: 0 6px;&lt;br /&gt; border-left: solid 1px #666;&lt;br /&gt;}&lt;br /&gt;.mGrid .pgr a&lt;br /&gt;{&lt;br /&gt; color: #666;&lt;br /&gt; text-decoration: none;&lt;br /&gt;}&lt;br /&gt;.mGrid .pgr a:hover&lt;br /&gt;{&lt;br /&gt; color: #000;&lt;br /&gt; text-decoration: none;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-pe_D9KywTb0/TY3nn1u2evI/AAAAAAAAAIk/GzhdXWz4IMg/s1600/GridViewMakeOver.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="63" width="400" src="http://1.bp.blogspot.com/-pe_D9KywTb0/TY3nn1u2evI/AAAAAAAAAIk/GzhdXWz4IMg/s400/GridViewMakeOver.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/GridViewMakeOverImages.rar"&gt;&lt;span style="color: green; text-decoration: underline"&gt;Download Images&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;b&gt;Curtesy&lt;/b&gt;&lt;a href="http://atashbahar.com/post/GridView-makeover-using-CSS.aspx"&gt;&lt;span style="color: green; text-decoration: underline"&gt;atashbahar&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-7431561877041037665?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/7431561877041037665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=7431561877041037665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7431561877041037665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7431561877041037665'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/03/gridview-makeover-using-css.html' title='GridView makeover using CSS'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-pe_D9KywTb0/TY3nn1u2evI/AAAAAAAAAIk/GzhdXWz4IMg/s72-c/GridViewMakeOver.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-5268889730679986332</id><published>2011-02-28T11:56:00.000+05:30</published><updated>2011-02-28T11:56:23.808+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>Grouping RadioButton inside gridveiw</title><content type='html'>&lt;pre class="javascript" name="code"&gt;        function uncheckOthers(id) {&lt;br /&gt;            var elm = document.getElementsByTagName('input');&lt;br /&gt;            for (var i = 0; i &lt; elm.length; i++) {&lt;br /&gt;                if (elm.item(i).id.substring(id.id.lastIndexOf('_')) == id.id.substring(id.id.lastIndexOf('_'))) {&lt;br /&gt;                    if (elm.item(i).type == "radio" &amp;&amp; elm.item(i) != id) elm.item(i).checked = false;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }  &lt;br /&gt;&lt;/pre&gt;&lt;pre class="csharp" name="code"&gt;    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            if (e.Row.RowType == DataControlRowType.DataRow)&lt;br /&gt;            {&lt;br /&gt;                //To make the RadioButton mutually exclusive&lt;br /&gt;                string strScript = "uncheckOthers(" + ((RadioButton)e.Row.Cells[0].FindControl("rbSelect")).ClientID + ");";&lt;br /&gt;                ((RadioButton)e.Row.Cells[0].FindControl("rbSelect")).Attributes.Add("onclick", strScript);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        catch (Exception ex)&lt;br /&gt;        {&lt;br /&gt;            throw ex;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-5268889730679986332?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/5268889730679986332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=5268889730679986332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5268889730679986332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5268889730679986332'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/02/grouping-radiobutton-inside-gridveiw.html' title='Grouping RadioButton inside gridveiw'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-1819146450994574791</id><published>2011-02-28T11:32:00.005+05:30</published><updated>2011-05-11T17:29:27.568+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>Selecting or DeSelecting multiple checkbox inside a gridview</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/SelectOrDeselectMultipleItems.gif" imageanchor="1" style=""&gt;&lt;img border="0" height="300" width="270" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/SelectOrDeselectMultipleItems.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="javascript" name="code"&gt;function SelectAllOrDeselect(CheckBox, Type, Column, HCheckBox) {&lt;br /&gt;    try {&lt;br /&gt;        var TotalChkBx = parseInt('&lt;%= grd_EmpSelection.Rows.Count %&gt;');&lt;br /&gt;        var TargetBaseControl = document.getElementById('&lt;%= grd_EmpSelection.ClientID%&gt;');&lt;br /&gt;        var TargetChildControl = null;&lt;br /&gt;&lt;br /&gt;        if (Column == "1") TargetChildControl = "chkTestSelect";&lt;br /&gt;        else TargetChildControl = "chkTrainingSelect";&lt;br /&gt;&lt;br /&gt;        var Inputs = TargetBaseControl.getElementsByTagName("input");&lt;br /&gt;        var SelectCount = 0;&lt;br /&gt;        //Checked/Unchecked all the checkBoxes in side the GridView.&lt;br /&gt;        if (Type == "1") {&lt;br /&gt;            for (var iCount = 0; iCount &lt; Inputs.length; ++iCount) {&lt;br /&gt;                if (Inputs[iCount].type == 'checkbox' &amp;&amp; Inputs[iCount].id.indexOf(TargetChildControl, 0) &gt;= 0) &lt;br /&gt;                    Inputs[iCount].checked = CheckBox.checked;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            //Reset Counter&lt;br /&gt;            SelectCount = CheckBox.checked ? TotalChkBx : 0;&lt;br /&gt;        } else if (Type == "2") {&lt;br /&gt;            //Reset Counter&lt;br /&gt;            for (var iCount = 0; iCount &lt; Inputs.length; ++iCount) {&lt;br /&gt;                if (Inputs[iCount].type == 'checkbox' &amp;&amp; Inputs[iCount].id.indexOf(TargetChildControl, 0) &gt;= 0) &lt;br /&gt;                    if (Inputs[iCount].checked == true) SelectCount++;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            //Modifiy Counter;        &lt;br /&gt;            if (!CheckBox.checked &amp;&amp; SelectCount &gt; 0) SelectCount--;&lt;br /&gt;&lt;br /&gt;            //Change state of the header CheckBox.&lt;br /&gt;            if (SelectCount &lt; TotalChkBx) HCheckBox.checked = false;&lt;br /&gt;            else if (SelectCount == TotalChkBx) HCheckBox.checked = true;&lt;br /&gt;        }&lt;br /&gt;    } catch (err) {}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;pre class="csharp" name="code"&gt;protected void grd_EmpSelection_RowCreated(object sender, GridViewRowEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        if (e.Row.RowType == DataControlRowType.DataRow &amp;&amp; (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate))&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;            CheckBox chkTestSelectAll = (CheckBox)this.grd_EmpSelection.HeaderRow.FindControl("chkTestSelectAll");&lt;br /&gt;            CheckBox chkTestSelect = (CheckBox)e.Row.Cells[1].FindControl("chkTestSelect");&lt;br /&gt;&lt;br /&gt;            chkTestSelectAll.Attributes["onclick"] = string.Format("javascript:SelectAllOrDeselect(this,'1','1', {0});", chkTestSelectAll.ClientID);&lt;br /&gt;            chkTestSelect.Attributes["onclick"] = string.Format("javascript:SelectAllOrDeselect(this,'2','1', {0});", chkTestSelectAll.ClientID);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            CheckBox chkTrainingSelectAll = (CheckBox)this.grd_EmpSelection.HeaderRow.FindControl("chkTrainingSelectAll");&lt;br /&gt;            CheckBox chkTrainingSelect = (CheckBox)e.Row.Cells[1].FindControl("chkTrainingSelect");&lt;br /&gt;&lt;br /&gt;            chkTrainingSelectAll.Attributes["onclick"] = string.Format("javascript:SelectAllOrDeselect(this,'1','2', {0});", chkTrainingSelectAll.ClientID);&lt;br /&gt;            chkTrainingSelect.Attributes["onclick"] = string.Format("javascript:SelectAllOrDeselect(this,'2','2', {0});", chkTrainingSelectAll.ClientID);&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The gridview checkbox will maintain the checked state during postback.&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;http://www.codeproject.com/KB/webforms/SelectingAllCheckBoxes.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-1819146450994574791?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/1819146450994574791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=1819146450994574791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1819146450994574791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1819146450994574791'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2011/02/selecting-or-deselecting-multiple.html' title='Selecting or DeSelecting multiple checkbox inside a gridview'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-8991554753959758788</id><published>2010-12-02T16:05:00.010+05:30</published><updated>2011-08-08T17:19:48.073+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Generate Insert Multiple Records Using One Insert Statement – Use of UNION ALL</title><content type='html'>&lt;strong&gt;Version I&lt;/strong&gt;&lt;pre class="sql" name="code"&gt;DECLARE @TableName            VARCHAR(50)&lt;br /&gt;DECLARE @ColNames AS          VARCHAR(8000)&lt;br /&gt;DECLARE @InsColNames AS       VARCHAR(8000)&lt;br /&gt;DECLARE @NewLineChar AS       VARCHAR(2)&lt;br /&gt;DECLARE @HorizontalTabChar AS VARCHAR(1)&lt;br /&gt;DECLARE @SQuoteFront AS       VARCHAR(15)&lt;br /&gt;DECLARE @SQuoteBack AS        VARCHAR(15)&lt;br /&gt;DECLARE @Comma AS             VARCHAR(150)&lt;br /&gt;&lt;br /&gt;SET @SQuoteFront       = '''''''''+'&lt;br /&gt;SET @SQuoteBack        = '+'''''''''&lt;br /&gt;SET @Comma             = ''',''' + ', '&lt;br /&gt;SET @TableName         = 'NetworkPath'&lt;br /&gt;SET @NewLineChar       = CHAR(13) + CHAR(10)&lt;br /&gt;SET @HorizontalTabChar = CHAR(9)&lt;br /&gt;&lt;br /&gt;SELECT   @ColNames     = ( COALESCE (@ColNames + ( '''' + column_name + '''' + ', ' ), '') ),&lt;br /&gt;         @InsColNames  = (&lt;br /&gt;                  CASE&lt;br /&gt;                           WHEN&lt;br /&gt;                                    (&lt;br /&gt;                                             data_type = 'bit'&lt;br /&gt;                                    OR       data_type = 'bigint'&lt;br /&gt;                                    OR       data_type = 'decimal'&lt;br /&gt;                                    OR       data_type = 'float'&lt;br /&gt;                                    OR       data_type = 'int'&lt;br /&gt;                                    OR       data_type = 'money'&lt;br /&gt;                                    OR       data_type = 'numeric'&lt;br /&gt;                                    OR       data_type = 'tinyint'&lt;br /&gt;                                    OR       data_type = 'image'&lt;br /&gt;                                    )&lt;br /&gt;                           THEN COALESCE (@InsColNames, '') + ( 'CAST( ' + column_name  + ' AS VARCHAR)' + ' + ' + '''' + ' AS ' + column_name + ''''   + ', ' + '''' + ',' + '''' + ',' )&lt;br /&gt;                           ELSE COALESCE (@InsColNames, '') + ( @SQuoteFront + 'CAST( ' + column_name + ' AS VARCHAR('+ CAST(character_maximum_length AS VARCHAR)  +') )' + @SQuoteBack + ' + ' + '''' + ' AS ' + column_name + '''' + ', ' + @Comma )&lt;br /&gt;                  END )&lt;br /&gt;FROM     information_schema.columns&lt;br /&gt;WHERE    table_name = @TableName&lt;br /&gt;ORDER BY ordinal_position ASC&lt;br /&gt;&lt;br /&gt;--Remove comma(,) at the end&lt;br /&gt;SET @ColNames = LEFT(@ColNames, LEN(@ColNames) - 1)&lt;br /&gt;&lt;br /&gt;--PRINT 'INSERT INTO ' + @TableName + ' ( ' + @ColNames + ' )'&lt;br /&gt;--Generate Inserte statement for the given table&lt;br /&gt;SELECT 'INSERT INTO ' + @TableName + ' ( ' + @ColNames + ' )' AS InsertStatement&lt;br /&gt;&lt;br /&gt;--PRINT 'SELECT '+  @InsColNames + ' FROM ' + @TableName&lt;br /&gt;&lt;br /&gt;--Remove ,',', at the end&lt;br /&gt;SET @InsColNames = LEFT(@InsColNames, LEN(@InsColNames) - 5)&lt;br /&gt;PRINT CHAR(13) + CHAR(10)&lt;br /&gt;&lt;br /&gt;SELECT @InsColNames&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;PRINT 'SELECT ' + '''SELECT ' + '''' + ' ,' + ' ' + @InsColNames +&lt;br /&gt;''' UNION ALL' +&lt;br /&gt;'''' + CHAR(13) + CHAR(10) + 'FROM ' + @TableName&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;EXEC( 'SELECT ' + '''SELECT ' + '''' + ' ,' + ' ' + @InsColNames + ''' UNION ALL' + '''' + 'FROM ' + @TableName )&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;strong&gt;Version II&lt;/strong&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;DECLARE @TableName            VARCHAR(50)&lt;br /&gt;DECLARE @ColNames AS          VARCHAR(8000)&lt;br /&gt;DECLARE @InsColNames AS       VARCHAR(8000)&lt;br /&gt;DECLARE @NewLineChar AS       VARCHAR(2)&lt;br /&gt;DECLARE @HorizontalTabChar AS VARCHAR(1)&lt;br /&gt;DECLARE @SQuoteFront AS       VARCHAR(15)&lt;br /&gt;DECLARE @SQuoteBack AS        VARCHAR(15)&lt;br /&gt;DECLARE @Comma AS             VARCHAR(150)&lt;br /&gt;SET @SQuoteFront       = '''''''''+'&lt;br /&gt;SET @SQuoteBack        = '+'''''''''&lt;br /&gt;SET @Comma             = ''',''' + ', '&lt;br /&gt;SET @TableName         = 'NetworkPath'&lt;br /&gt;SET @NewLineChar       = CHAR(13) + CHAR(10)&lt;br /&gt;SET @HorizontalTabChar = CHAR(9)&lt;br /&gt;SELECT   @ColNames     = ( COALESCE (@ColNames + ( '''' + column_name + '''' + ', ' ), '') ),&lt;br /&gt;         @InsColNames  = (&lt;br /&gt;         CASE&lt;br /&gt;                  WHEN&lt;br /&gt;                           (&lt;br /&gt;                                    data_type = 'bit'&lt;br /&gt;                           OR       data_type = 'bigint'&lt;br /&gt;                           OR       data_type = 'decimal'&lt;br /&gt;                           OR       data_type = 'float'&lt;br /&gt;                           OR       data_type = 'int'&lt;br /&gt;                           OR       data_type = 'money'&lt;br /&gt;                           OR       data_type = 'numeric'&lt;br /&gt;                           OR       data_type = 'tinyint'&lt;br /&gt;                           OR       data_type = 'image'&lt;br /&gt;                           )&lt;br /&gt;                  THEN COALESCE (@InsColNames, '') + ( 'CAST( ' + column_name + ' AS VARCHAR)' + ' + ' + '''' + ' AS ' + column_name + '''' + ', ' + '''' + ',' + '''' + ',' )&lt;br /&gt;                  ELSE COALESCE (@InsColNames, '') + ( @SQuoteFront + 'CAST( ' + column_name + ' AS VARCHAR('+ CAST(character_maximum_length AS VARCHAR) +') )' + @SQuoteBack + ' + ' + '''' + ' AS ' + column_name + '''' + ', ' + @Comma )&lt;br /&gt;         END )&lt;br /&gt;FROM     information_schema.columns&lt;br /&gt;WHERE    table_name = @TableName&lt;br /&gt;ORDER BY ordinal_position ASC&lt;br /&gt;--Remove comma(,) at the end&lt;br /&gt;SET @ColNames = LEFT(@ColNames, LEN(@ColNames) - 1)&lt;br /&gt;--PRINT 'INSERT INTO ' + @TableName + ' ( ' + @ColNames + ' )'&lt;br /&gt;--Generate Inserte statement for the given table&lt;br /&gt;SELECT 'INSERT INTO ' + @TableName + ' ( ' + @ColNames + ' )' AS InsertStatement&lt;br /&gt;--PRINT 'SELECT '+  @InsColNames + ' FROM ' + @TableName&lt;br /&gt;--Remove ,',', at the end&lt;br /&gt;SET @InsColNames = LEFT(@InsColNames, LEN(@InsColNames) - 5)&lt;br /&gt;PRINT CHAR(13)                                          + CHAR(10)&lt;br /&gt;SELECT @InsColNames&lt;br /&gt;/*&lt;br /&gt;PRINT 'SELECT ' + '''SELECT ' + '''' + ' ,' + ' ' + @InsColNames +&lt;br /&gt;''' UNION ALL' +&lt;br /&gt;'''' + CHAR(13) + CHAR(10) + 'FROM ' + @TableName&lt;br /&gt;*/&lt;br /&gt;EXEC( 'SELECT ' + '''SELECT ' + '''' + ' ,' + ' ' + @InsColNames + ''' UNION ALL' + '''' + 'FROM ' + @TableName )&lt;br /&gt;&lt;/pre&gt;&lt;a href="http://blog.sqlauthority.com/2007/06/08/sql-server-insert-multiple-records-using-one-insert-statement-use-of-union-all/"&gt;&lt;span style="color: green; text-decoration: underline;"&gt;Reference&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-8991554753959758788?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/8991554753959758788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=8991554753959758788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8991554753959758788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8991554753959758788'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/12/generate-insert-multiple-records-using.html' title='Generate Insert Multiple Records Using One Insert Statement – Use of UNION ALL'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-2801180789078681373</id><published>2010-10-19T18:55:00.000+05:30</published><updated>2010-10-19T18:55:36.837+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Process Comma Separated Values for Insert Delete and Update into Table</title><content type='html'>&lt;a href="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/InsertSplit.sql"&gt;Download Full Script&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-2801180789078681373?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/2801180789078681373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=2801180789078681373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2801180789078681373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2801180789078681373'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/10/process-comma-separated-values-for.html' title='Process Comma Separated Values for Insert Delete and Update into Table'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-3419191207432775417</id><published>2010-09-02T18:09:00.009+05:30</published><updated>2010-09-07T14:40:34.477+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>Collapsible Div</title><content type='html'>&lt;pre class="javascript" name="code"&gt;function ToggleCollapsible(ControlIdToShow, SaveStateField, ControlFireID) {&lt;br /&gt;    var control = document.all[ControlIdToShow].style;&lt;br /&gt;    var expandstate = document.all[SaveStateField];&lt;br /&gt;&lt;br /&gt;    var ControlFireID = document.getElementById(ControlFireID);&lt;br /&gt;&lt;br /&gt;    if (control.display == 'none') {&lt;br /&gt;        control.display = '';&lt;br /&gt;        expandstate.value = 'true';&lt;br /&gt;&lt;br /&gt;        if (ControlIdToShow == "ToShow") {&lt;br /&gt;            //showImageID.style.display = "none";&lt;br /&gt;            //hideImageID.style.display = "block";&lt;br /&gt;            //On button click change the image&lt;br /&gt;            ControlFireID.src = "Collapsible/collapse.gif";&lt;br /&gt;            ControlFireID.title = "Hide";&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    else {&lt;br /&gt;        control.display = 'none';&lt;br /&gt;        expandstate.value = 'false';&lt;br /&gt;&lt;br /&gt;        if (ControlIdToShow == "ToShow") {&lt;br /&gt;            //showImageID.style.display = "block";&lt;br /&gt;            //hideImageID.style.display = "none";&lt;br /&gt;            //On button click change the image&lt;br /&gt;            ControlFireID.src = "Collapsible/expand.gif";&lt;br /&gt;            ControlFireID.title = "Show";&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    return false;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;CollapsiblePanelHidden&amp;quot; value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;input id=&amp;quot;imgBtnShow&amp;quot; name=&amp;quot;imgBtnShow&amp;quot; type=&amp;quot;image&amp;quot; src=&amp;quot;Collapsible/expand.gif&amp;quot;&lt;br /&gt;onclick=&amp;quot;return ToggleCollapsible (&amp;amp;#39;ToShow&amp;amp;#39;, &amp;amp;#39;CollapsiblePanelHidden&amp;amp;#39;, &amp;amp;#39;imgBtnShow&amp;amp;#39;)&amp;quot;&lt;br /&gt;title=&amp;quot;Show&amp;quot; style=&amp;quot;display: block;&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;ToShow&amp;quot; style=&amp;quot;display: none;&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;table id=&amp;quot;ShowTable&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;&lt;br /&gt;&amp;lt;a id=&amp;quot;ShowTableContent&amp;quot;&lt;br /&gt;title=&amp;quot;Click to expand/collapse&amp;quot; onclick=&amp;quot;return ToggleCollapsible (&amp;amp;#39;PanelToShowOrHide&amp;amp;#39;, &amp;amp;#39;CollapsiblePanelHidden&amp;amp;#39;, &amp;amp;#39;imgBtnShow&amp;amp;#39;, &amp;amp;#39;imgBtnHide&amp;amp;#39;)&amp;quot;&lt;br /&gt;href=&amp;quot;#&amp;quot;&amp;gt;Collapsible panel (click to expand).&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;td id=&amp;quot;PanelToShowOrHide&amp;quot; style=&amp;quot;width: 100%; display: none; color: Red;&amp;quot;&amp;gt;&lt;br /&gt;http://asp-tech.blogspot.com/&lt;br /&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-3419191207432775417?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/3419191207432775417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=3419191207432775417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3419191207432775417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3419191207432775417'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/09/collapsible-div.html' title='Collapsible Div'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-8476515299674121098</id><published>2010-09-01T12:22:00.005+05:30</published><updated>2010-09-01T12:41:01.672+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Generate CSS DropDown Menu from DataBase</title><content type='html'>&lt;pre class="csharp" name="code"&gt;IF OBJECT_ID (N'dbo.MenuMain', N'U') IS NOT NULL&lt;br /&gt; DROP TABLE dbo.MenuMain;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE TABLE dbo.MenuMain(ID INT, [Name] VARCHAR(50),[Link] VARCHAR(50), [Title] VARCHAR(50), ParentID INT, [Order] INT)&lt;br /&gt;&lt;br /&gt;INSERT INTO dbo.MenuMain&lt;br /&gt;&lt;br /&gt;SELECT 1, 'CSS Drop Down Menus', NULL, NULL, 0, 1 UNION ALL&lt;br /&gt;SELECT 2, 'Vertical CSS Pop-Out Menu', NULL, NULL, 0, 2 UNION ALL&lt;br /&gt;SELECT 3, 'CSS Hover Navigation',     '#', 'SEO Consultants Directory', 2, 1 UNION ALL&lt;br /&gt;SELECT 4, 'Horizontal Drop &amp; Pop Menu', NULL, NULL, 0, 3 UNION ALL&lt;br /&gt;SELECT 5, 'SEO Consultants Sample',     '#', 'SEO Consultants Vertical Example', 2, 2 UNION ALL&lt;br /&gt;SELECT 6, 'Tanfa Demo example',         '#', 'Complete Example', 5, 1 UNION ALL&lt;br /&gt;SELECT 7, 'Stage 1',                    '#', 'Vertical Menu - Page 1', 6, 1 UNION ALL&lt;br /&gt;SELECT 8, 'Stage 2',                    '#', 'Vertical Menu - Page 2', 6, 2 UNION ALL&lt;br /&gt;SELECT 9, 'Stage 3',                    '#', 'Vertical Menu - Page 3', 6, 3 UNION ALL&lt;br /&gt;SELECT 10, 'Stage 4',                   '#', 'Vertical Menu - Page 4', 6, 4 UNION ALL&lt;br /&gt;SELECT 11, 'Stage 5',                   '#', 'Vertical Menu - Page 5', 6, 5&lt;br /&gt;&lt;br /&gt;SELECT   ID    ,&lt;br /&gt;         [Name],&lt;br /&gt;		 [Link],&lt;br /&gt;		 [Title],&lt;br /&gt;         CASE WHEN ParentID = 0&lt;br /&gt;              THEN NULL&lt;br /&gt;              ELSE ParentID&lt;br /&gt;         END AS ParentID,&lt;br /&gt;         [Order]&lt;br /&gt;FROM     dbo.MenuMain&lt;br /&gt;ORDER BY ParentID,&lt;br /&gt;         [Order]&lt;br /&gt;&lt;/pre&gt;&lt;pre class="csharp" name="code"&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Configuration;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.Security;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using System.Web.UI.WebControls;&lt;br /&gt;using System.Web.UI.WebControls.WebParts;&lt;br /&gt;using System.Web.UI.HtmlControls;&lt;br /&gt;using System.Data.SqlClient;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;public partial class HorizontalCssMenu : System.Web.UI.Page&lt;br /&gt;{&lt;br /&gt;    protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;        //http://ago.tanfa.co.uk/css/examples/menu/tutorial-h.html#hs7&lt;br /&gt;        //http://www.alistapart.com/articles/horizdropdowns/&lt;br /&gt;&lt;br /&gt;        if (!IsPostBack)&lt;br /&gt;        {&lt;br /&gt;            LoadMenu();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void LoadMenu()&lt;br /&gt;    {&lt;br /&gt;        DataTable dtMenu = LoadData();&lt;br /&gt;        &lt;br /&gt;        StringBuilder sbMenu = new StringBuilder();&lt;br /&gt;&lt;br /&gt;        foreach (DataRow dr in dtMenu.Rows)&lt;br /&gt;        {&lt;br /&gt;            if (string.IsNullOrEmpty(Convert.ToString(dr["ParentID"]))&lt;br /&gt;                || Convert.ToString(dr["ParentID"]) == "0")&lt;br /&gt;            {&lt;br /&gt;                if (sbMenu.Length != 0)&lt;br /&gt;                    sbMenu.Append(Environment.NewLine);&lt;br /&gt;                sbMenu.Append("&lt;ul&gt;" + Environment.NewLine);                 sbMenu.Append("&lt;br /&gt;&lt;li ID=\"" + Convert.ToString(dr["ID"]) + "\"&gt;");&lt;br /&gt;&lt;br /&gt;sbMenu.Append("&lt;h2&gt;" + Convert.ToString(dr["Name"]) + "&lt;/h2&gt;" + Environment.NewLine);&lt;br /&gt;&lt;br /&gt;sbMenu.Append("&lt;/li&gt;&lt;br /&gt;" + Environment.NewLine + "&lt;/ul&gt;");&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                StringBuilder sbTemp = new StringBuilder();&lt;br /&gt;                if (Convert.ToInt32(dr["Order"]) == 1)&lt;br /&gt;                    sbTemp.Append(Environment.NewLine + "&lt;ul&gt;");                 sbTemp.Append(Environment.NewLine + "&lt;br /&gt;&lt;li ID=\"" + Convert.ToString(dr["ID"]) + "\"&gt;");&lt;br /&gt;&lt;br /&gt;sbTemp.Append("&lt;a href=\"" + Convert.ToString(dr["Link"]) + "\" title=\"" + Convert.ToString(dr["Title"]) + "\"&gt;" + Convert.ToString(dr["Name"]) + "&lt;/a&gt;");&lt;br /&gt;&lt;br /&gt;sbTemp.Append(Environment.NewLine + "&lt;/li&gt;&lt;br /&gt;");                 if (Convert.ToInt32(dr["Order"]) == 1)                     sbTemp.Append(Environment.NewLine + "&lt;/ul&gt;");&lt;br /&gt;&lt;br /&gt;                string id = "ID=\"" + Convert.ToString(dr["ParentID"]) + "\"";&lt;br /&gt;                int length = sbMenu.ToString().IndexOf(id);&lt;br /&gt;                if (length != -1)&lt;br /&gt;                {&lt;br /&gt;                    string Previous = sbMenu.ToString().Substring(0, length);&lt;br /&gt;                    string Next = sbMenu.ToString().Substring(length);&lt;br /&gt;                    if (Convert.ToInt32(dr["Order"]) == 1)&lt;br /&gt;                        sbMenu.Insert((Previous.Length + Next.IndexOf("&lt;/li&gt;&lt;br /&gt;")), sbTemp);&lt;br /&gt;                    else&lt;br /&gt;                        sbMenu.Insert((Previous.Length + Next.IndexOf("&lt;/ul&gt;")), sbTemp);&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                    sbMenu.Append(sbTemp);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        if (sbMenu.ToString().Length &gt; 0)&lt;br /&gt;        {&lt;br /&gt;            menu.InnerHtml = sbMenu.ToString();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public DataTable LoadData()&lt;br /&gt;    {&lt;br /&gt;        DataSet dsUserMenu = null;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            //Connection string from Web.Config&lt;br /&gt;            string sDBConnection = "SERVER=;DATABASE=;UID=;pwd=";&lt;br /&gt;            string[] sTableName = { "Menu" };&lt;br /&gt;&lt;br /&gt;            string sQuery = @"SELECT     ID    ,&lt;br /&gt;                                         [Name],&lt;br /&gt;		                                 [Link],&lt;br /&gt;		                                 [Title],&lt;br /&gt;                                         CASE WHEN ParentID = 0&lt;br /&gt;                                              THEN NULL&lt;br /&gt;                                              ELSE ParentID&lt;br /&gt;                                         END AS ParentID,&lt;br /&gt;                                         [Order]&lt;br /&gt;                                FROM     dbo.MenuMain&lt;br /&gt;                                ORDER BY ParentID,&lt;br /&gt;                                         [Order]";&lt;br /&gt;&lt;br /&gt;            dsUserMenu = new DataSet();&lt;br /&gt;&lt;br /&gt;            DBHelper.FillDataset(sDBConnection, CommandType.Text, sQuery, dsUserMenu, sTableName);&lt;br /&gt;&lt;br /&gt;            dsUserMenu.DataSetName = "Menus";&lt;br /&gt;            DataRelation objMenuRelation = new DataRelation("ParentChild",&lt;br /&gt;                    dsUserMenu.Tables["Menu"].Columns["ID"],&lt;br /&gt;                    dsUserMenu.Tables["Menu"].Columns["ParentID"],&lt;br /&gt;                    false);&lt;br /&gt;            objMenuRelation.Nested = true;&lt;br /&gt;            dsUserMenu.Relations.Add(objMenuRelation);&lt;br /&gt;            return dsUserMenu.Tables[0];&lt;br /&gt;        }&lt;br /&gt;        catch (Exception ex)&lt;br /&gt;        {&lt;br /&gt;            throw ex;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Download .cs, .aspx, .css, .sql file form below&lt;br /&gt;&lt;a href="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/HorizontalCssMenu.zip"&gt;HorizontalCssMenu.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;References&lt;/b&gt;&lt;br /&gt;&lt;a href="http://ago.tanfa.co.uk/css/examples/menu/tutorial-h.html#hs7"&gt;ago.tanfa.co.uk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ago.tanfa.co.uk/css/examples/menu/hs7.html"&gt;Example&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.alistapart.com/articles/horizdropdowns/"&gt;alistapart&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-8476515299674121098?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/8476515299674121098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=8476515299674121098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8476515299674121098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8476515299674121098'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/09/generate-list-menu-from-database.html' title='Generate CSS DropDown Menu from DataBase'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-2964926646383333478</id><published>2010-08-28T15:22:00.002+05:30</published><updated>2011-09-24T15:45:11.541+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Joins in SQL SERVER</title><content type='html'>        &lt;img src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/SQL JOINS.PNG"            width="580" height="693" /&gt;&lt;br /&gt;        &lt;br /&gt;        &lt;pre class="sql" name="code"&gt;DECLARE @Employee TABLE&lt;br /&gt;(&lt;br /&gt;	EmpID		INT,&lt;br /&gt;	EmpName		VARCHAR(50),&lt;br /&gt;	DeptID		INT&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;INSERT INTO @Employee&lt;br /&gt;SELECT 1,'kannu',1 UNION ALL&lt;br /&gt;SELECT 2,'Ram',1 UNION ALL&lt;br /&gt;SELECT 3,'Kumar',2 UNION ALL&lt;br /&gt;SELECT 4,'Murali',3 UNION ALL&lt;br /&gt;SELECT 5,'Ranjith',4 UNION ALL&lt;br /&gt;SELECT 6,'Suresh',4 UNION ALL&lt;br /&gt;SELECT 7,'Selva',5 UNION ALL&lt;br /&gt;SELECT 8,'Muthu',6 &lt;br /&gt;&lt;br /&gt;DECLARE @Department TABLE&lt;br /&gt;(&lt;br /&gt;	DeptID		INT,&lt;br /&gt;	DeptName	VARCHAR(50)&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;INSERT INTO @Department&lt;br /&gt;SELECT 1,'Account' UNION ALL&lt;br /&gt;SELECT 2,'Testing' UNION ALL&lt;br /&gt;SELECT 3,'Web Develop' UNION ALL&lt;br /&gt;SELECT 5,'PDA Develop' UNION ALL&lt;br /&gt;SELECT 6,'Java' UNION ALL&lt;br /&gt;SELECT 7,'DBA'&lt;br /&gt;&lt;/pre&gt;        &lt;br /&gt;        &lt;b&gt;What is Join in SQL SERVER?&lt;/b&gt;&lt;br /&gt;        &lt;br /&gt;        The JOIN keyword is used in an SQL statement to query data from two or more tables,        based on a relationship between certain columns in these tables.&lt;br /&gt;        &lt;b&gt;Join Types&lt;/b&gt;        &lt;ol&gt;            &lt;li&gt;Inner Join                &lt;ul&gt;                    &lt;li&gt;Inner Join&lt;/li&gt;                    &lt;li&gt;Equi-Join&lt;/li&gt;                    &lt;li&gt;Natural Join&lt;/li&gt;                &lt;/ul&gt;            &lt;/li&gt;            &lt;li&gt;Outer join                &lt;ul&gt;                    &lt;li&gt;Left Join                        &lt;ul&gt;                            &lt;li&gt;Left Join Excluding Inner Join&lt;/li&gt;&lt;/ul&gt;                    &lt;/li&gt;                    &lt;li&gt;Right Join                        &lt;ul&gt;                            &lt;li&gt;Right Join Excluding Inner Join&lt;/li&gt;                        &lt;/ul&gt;                    &lt;/li&gt;                    &lt;li&gt;Full Outer Join                        &lt;ul&gt;                            &lt;li&gt;Outer Join Excluding Inner Join Or Left &amp; Right Joins Excluding Inner Join&lt;/li&gt;                        &lt;/ul&gt;                    &lt;/li&gt;                &lt;/ul&gt;            &lt;/li&gt;            &lt;li&gt;Cross Join / Cartesian product&lt;/li&gt;            &lt;li&gt;Self Join / Auto Join&lt;/li&gt;        &lt;/ol&gt;       &lt;br/&gt;&lt;b&gt;Join&lt;/b&gt;&lt;br/&gt;The query compares each row of table(@Employee) with each row of table(@Department)        to find all pairs of rows which satisfy the join predicate. &lt;br/&gt;&lt;br/&gt;&lt;b&gt;Inner Join&lt;/b&gt;&lt;br/&gt;   The query produces a new result set by combining the column values of both the table        @Employee and @Department.&lt;br /&gt;        It will produce the resultset if there is atleast one match.        &lt;br /&gt;        &lt;br /&gt;        An inner join is a join with a join condition that may contain both equality and        non-equality sign whereas an equijoin is a join with a join condition that only        contain only equality sign. So we can say an equijoin is a type of inner join containing        (Equal)= operator in the join condition.        &lt;br /&gt;        &lt;br /&gt;        It is good to know the difference between join and INNER JOIN keyword. Actually        there is no difference. If we write JOIN then by default INNER JOIN is performed.        &lt;br /&gt;        &lt;br /&gt;        &lt;b&gt;Equi-join or Inner Join&lt;/b&gt;&lt;br /&gt;        Join based on equality test. Using other operator disqualifies equijoin.&lt;br /&gt;        &lt;br /&gt;        &lt;pre class="sql" name="code"&gt;        SELECT A.EmpID  ,&lt;br /&gt;       A.EmpName,&lt;br /&gt;       A.DeptID  ,&lt;br /&gt;       B.DeptID ,&lt;br /&gt;       B.DeptName&lt;br /&gt;FROM   @Employee A&lt;br /&gt;       INNER JOIN @Department B&lt;br /&gt; ON     A.DeptID=B.DeptID&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-LX3TjBcB91s/Tn2h-UkFI7I/AAAAAAAAAJc/bJmPbpPEZeI/s1600/JOINS_1.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="135" width="323" src="http://2.bp.blogspot.com/-LX3TjBcB91s/Tn2h-UkFI7I/AAAAAAAAAJc/bJmPbpPEZeI/s400/JOINS_1.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;        &lt;b&gt;Complex Join Or Inner Join&lt;/b&gt;        &lt;br /&gt;        If join nested then it is called complex join        &lt;br /&gt;        Jon based on more then one column from each table.        &lt;br /&gt;        &lt;br /&gt;        &lt;b&gt;Natural Join&lt;/b&gt;        &lt;br /&gt;        Select the Particular column in Both TableA and TableB. Both table should have same        no of columns and names (i.e. Identical columns in both tables). This is accomplished        by using union operator in both the select statement.        &lt;pre class="sql" name="code"&gt;SELECT EmpID  ,&lt;br /&gt;       EmpName,&lt;br /&gt;       DeptID&lt;br /&gt;FROM   @Employee&lt;br /&gt;UNION --Eliminates duplicates&lt;br /&gt;--UNION ALL --Get all the records from both the table&lt;br /&gt;SELECT EmpID  ,&lt;br /&gt;       EmpName,&lt;br /&gt;       DeptID&lt;br /&gt;FROM   @Employee&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-VNFBOFgcJTo/Tn2iOYUCcQI/AAAAAAAAAJk/QER1XEyHKSc/s1600/JOINS_2.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="173" width="194" src="http://3.bp.blogspot.com/-VNFBOFgcJTo/Tn2iOYUCcQI/AAAAAAAAAJk/QER1XEyHKSc/s400/JOINS_2.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;        &lt;b&gt;Outer Join&lt;/b&gt;&lt;br/&gt; &lt;b&gt;Left Outer Join&lt;/b&gt;        &lt;br /&gt;        Display all columns in left side and only Match values in right side. Remaining        values will be NULL.        &lt;pre class="sql" name="code"&gt;SELECT A.EmpID  ,&lt;br /&gt;       A.EmpName,&lt;br /&gt;       A.DeptID  ,&lt;br /&gt;       B.DeptID ,&lt;br /&gt;       B.DeptName&lt;br /&gt;FROM   @Employee A&lt;br /&gt;       LEFT OUTER JOIN @Department B&lt;br /&gt;       ON     A.DeptID=B.DeptID&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Bp36lWQpgzo/Tn2iZEmQuGI/AAAAAAAAAJs/ebK0ZL5k8kU/s1600/JOINS_3.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="170" width="323" src="http://4.bp.blogspot.com/-Bp36lWQpgzo/Tn2iZEmQuGI/AAAAAAAAAJs/ebK0ZL5k8kU/s400/JOINS_3.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;        &lt;b&gt;Left Join Excluding Inner Join&lt;/b&gt;        &lt;pre class="sql" name="code"&gt;SELECT A.EmpID  ,&lt;br /&gt;       A.EmpName,&lt;br /&gt;       A.DeptID  ,&lt;br /&gt;       B.DeptID ,&lt;br /&gt;       B.DeptName&lt;br /&gt;FROM   @Employee A&lt;br /&gt;       LEFT JOIN @Department B&lt;br /&gt;       ON     A.DeptID=B.DeptID&lt;br /&gt;WHERE B.DeptID IS NULL&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-AKavSHyie1I/Tn2ii8aeusI/AAAAAAAAAJ0/4XwbjtPiMoE/s1600/JOINS_4.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="59" width="310" src="http://1.bp.blogspot.com/-AKavSHyie1I/Tn2ii8aeusI/AAAAAAAAAJ0/4XwbjtPiMoE/s400/JOINS_4.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;        &lt;b&gt;Right Outer Join&lt;/b&gt;        &lt;br /&gt;        Just Opposite Of Left Outer Join        &lt;br /&gt;        &lt;pre class="sql" name="code"&gt;SELECT A.EmpID  ,&lt;br /&gt;       A.EmpName,&lt;br /&gt;       A.DeptID  ,&lt;br /&gt;       B.DeptID ,&lt;br /&gt;       B.DeptName&lt;br /&gt;FROM   @Employee A&lt;br /&gt;       RIGHT JOIN @Department B&lt;br /&gt;       ON     A.DeptID=B.DeptID&lt;br /&gt;       &lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-F2bQkNQhx4w/Tn2i_H9XT_I/AAAAAAAAAJ8/I9UM9jyxnH8/s1600/JOINS_6.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="153" width="321" src="http://3.bp.blogspot.com/-F2bQkNQhx4w/Tn2i_H9XT_I/AAAAAAAAAJ8/I9UM9jyxnH8/s400/JOINS_6.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;        &lt;br /&gt;        &lt;b&gt;Right Join Excluding Inner Join&lt;/b&gt;        &lt;br /&gt;        &lt;pre class="sql" name="code"&gt;SELECT A.EmpID  ,&lt;br /&gt;       A.EmpName,&lt;br /&gt;       A.DeptID  ,&lt;br /&gt;       B.DeptID ,&lt;br /&gt;       B.DeptName&lt;br /&gt;FROM   @Employee A&lt;br /&gt;       RIGHT JOIN @Department B&lt;br /&gt;       ON     A.DeptID=B.DeptID&lt;br /&gt;WHERE A.DeptID IS NULL&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-MMpP6gThESc/Tn2jmBrHNNI/AAAAAAAAAKE/B6TLakEG--Y/s1600/JOINS_7.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="41" width="304" src="http://3.bp.blogspot.com/-MMpP6gThESc/Tn2jmBrHNNI/AAAAAAAAAKE/B6TLakEG--Y/s400/JOINS_7.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;        &lt;b&gt;Full Outer Join&lt;/b&gt;        &lt;br /&gt;        A full outer join combines the results of both left and right outer joins. The joined        table will contain all records from both tables, and fill in NULLs for missing matches        on either side.        &lt;br /&gt;        &lt;pre class="sql" name="code"&gt;SELECT A.EmpID  ,&lt;br /&gt;       A.EmpName,&lt;br /&gt;       A.DeptID  ,&lt;br /&gt;       B.DeptID ,&lt;br /&gt;       B.DeptName&lt;br /&gt;FROM   @Employee A&lt;br /&gt;       FULL OUTER JOIN @Department B&lt;br /&gt;       ON     A.DeptID=B.DeptID&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-NxWZEj9jk0A/Tn2lEH8XZjI/AAAAAAAAAKM/lRjfwl1zNxA/s1600/JOINS_8.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="192" width="322" src="http://3.bp.blogspot.com/-NxWZEj9jk0A/Tn2lEH8XZjI/AAAAAAAAAKM/lRjfwl1zNxA/s400/JOINS_8.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;        &lt;b&gt;Outer Join Excluding Inner Join Or Left &amp; Right Joins Excluding Inner Join&lt;/b&gt;        &lt;br /&gt;        &lt;pre class="sql" name="code"&gt;SELECT A.EmpID  ,&lt;br /&gt;       A.EmpName,&lt;br /&gt;       A.DeptID ,&lt;br /&gt;       B.DeptID ,&lt;br /&gt;       B.DeptName&lt;br /&gt;FROM   @Employee A&lt;br /&gt;       FULL OUTER JOIN @Department B&lt;br /&gt;       ON     A.DeptID=B.DeptID&lt;br /&gt;WHERE  A.DeptID IS NULL&lt;br /&gt;OR     B.DeptID IS NULL&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-7wuzSq-OMqo/Tn2lTNuNP2I/AAAAAAAAAKU/r59UWw0wTQk/s1600/JOINS_9.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="78" width="307" src="http://1.bp.blogspot.com/-7wuzSq-OMqo/Tn2lTNuNP2I/AAAAAAAAAKU/r59UWw0wTQk/s400/JOINS_9.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;        &lt;b&gt;Cartesian Product Or Cross Join&lt;/b&gt;        &lt;br /&gt;        Known as Join without condition        &lt;br /&gt;        ResultSet = No of Rows in TableA * No of Rows in TableB&lt;br /&gt;        Display all the Possibilities of combinations.&lt;pre class="sql" name="code"&gt;SELECT *&lt;br /&gt;FROM   @Employee&lt;br /&gt;INNER JOIN @Department&lt;br /&gt;ON 1 = 1&lt;br /&gt;&lt;br /&gt;--Explicit&lt;br /&gt;SELECT *&lt;br /&gt;FROM   @Employee&lt;br /&gt;CROSS JOIN @Department&lt;br /&gt;&lt;br /&gt;--Implicit&lt;br /&gt;SELECT *&lt;br /&gt;FROM   @Employee, @Department&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/JOINS_10.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="932" width="323" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/JOINS_10.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;        &lt;b&gt;Self-Join&lt;/b&gt;        &lt;br /&gt;        A table joins with itself with one or two aliases to stave off confusion are called        self-join.        &lt;pre class="sql" name="code"&gt;SELECT A.EmpName ,&lt;br /&gt;       B.EmpName ,&lt;br /&gt;       A.DeptID  ,&lt;br /&gt;       B.DeptID&lt;br /&gt;FROM   @Employee A&lt;br /&gt;       INNER JOIN @Employee B&lt;br /&gt;       ON     A.DeptID = B.DeptID&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-M96uXEFWufA/Tn2lw8BapmI/AAAAAAAAAK0/Dg2yueL-wMI/s1600/JOINS_13.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="249" width="259" src="http://1.bp.blogspot.com/-M96uXEFWufA/Tn2lw8BapmI/AAAAAAAAAK0/Dg2yueL-wMI/s400/JOINS_13.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;        &lt;br /&gt;        &lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;        &lt;a href="http://www.codeproject.com/KB/database/Visual_SQL_Joins.aspx"&gt;codeproject&lt;/a&gt;&lt;br /&gt;        &lt;a href="http://en.wikipedia.org/wiki/Join_(SQL)#Natural_join"&gt;wikipedia&lt;/a&gt;&lt;br /&gt;        &lt;a href="http://www.c-sharpcorner.com/UploadFile/raj1979/SqlJoins10012008164642PM/SqlJoins.aspx"&gt;            c-sharpcorner.com&lt;/a&gt;&lt;br /&gt;        &lt;a href="http://www.techbubbles.com/sql-server/joins-in-sql-server/"&gt;techbubbles&lt;/a&gt;&lt;br /&gt;        &lt;a href="http://www.marcoullis.com/KNOWLEDGE/DATABASES/marcoullisp_knowledge_databases_relational_algebra.html"&gt;            marcoullis&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-2964926646383333478?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/2964926646383333478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=2964926646383333478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2964926646383333478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2964926646383333478'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/08/joins-in-sql-server.html' title='Joins in SQL SERVER'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-LX3TjBcB91s/Tn2h-UkFI7I/AAAAAAAAAJc/bJmPbpPEZeI/s72-c/JOINS_1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-1545649537572558921</id><published>2010-08-18T12:52:00.001+05:30</published><updated>2010-08-18T12:57:03.216+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>asp menu</title><content type='html'>Table structure for creating the Menu&lt;br /&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SET ANSI_NULLS ON&lt;br /&gt;GO&lt;br /&gt;SET QUOTED_IDENTIFIER ON&lt;br /&gt;GO&lt;br /&gt;SET ANSI_PADDING ON&lt;br /&gt;GO&lt;br /&gt;CREATE TABLE [dbo].[MainMenu](&lt;br /&gt; [MenuID] [int] NOT NULL,&lt;br /&gt; [ParentMenuID] [int] NULL,&lt;br /&gt; [LabelMenu] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,&lt;br /&gt; [LinkMenu] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,&lt;br /&gt; [TargetMenu] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,&lt;br /&gt; [HighlightMenu] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,&lt;br /&gt; CONSTRAINT [PK_MainMenu] PRIMARY KEY CLUSTERED &lt;br /&gt;(&lt;br /&gt; [MenuID] ASC&lt;br /&gt;) ON [PRIMARY]&lt;br /&gt;) ON [PRIMARY]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;SET ANSI_PADDING OFF&lt;br /&gt;GO&lt;br /&gt;EXEC dbo.sp_addextendedproperty @name=N'MS_Description', @value=N'Identity Column' ,@level0type=N'USER', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'MainMenu', @level2type=N'COLUMN', @level2name=N'MenuID'&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;EXEC dbo.sp_addextendedproperty @name=N'MS_Description', @value=N'Name of the menu.' ,@level0type=N'USER', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'MainMenu', @level2type=N'COLUMN', @level2name=N'LabelMenu'&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;EXEC dbo.sp_addextendedproperty @name=N'MS_Description', @value=N'Url for the label' ,@level0type=N'USER', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'MainMenu', @level2type=N'COLUMN', @level2name=N'LinkMenu'&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;EXEC dbo.sp_addextendedproperty @name=N'MS_Description', @value=N'Main menu' ,@level0type=N'USER', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'MainMenu', @level2type=N'COLUMN', @level2name=N'HighlightMenu'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Query to insert records&lt;br /&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;INSERT INTO dbo.MainMenu&lt;br /&gt;SELECT 1,NULL,'Home,'#,'_self','1' UNION ALL&lt;br /&gt;SELECT 2,NULL,'Accessories,'#,'_self','2' UNION ALL&lt;br /&gt;SELECT 3,NULL,'Products,'#,'_self','3' UNION ALL&lt;br /&gt;SELECT 4,NULL,'Contact,'#,'_self','4' UNION ALL&lt;br /&gt;SELECT 5,2,'Accessory1,'#,'_self',NULL UNION ALL&lt;br /&gt;SELECT 6,3,'Product1,'#,'_self',NULL UNION ALL&lt;br /&gt;SELECT 7,3,'Product2,'#,'_self',NULL UNION ALL&lt;br /&gt;SELECT 8,5,'Accessory2,'#,'_self',NULL UNION ALL&lt;br /&gt;SELECT 9,5,'Accessory3,'#,'_self',NULL UNION ALL&lt;br /&gt;SELECT 10,8,'Acc,'#,'_self',NULL&lt;br /&gt;&lt;/pre&gt;Query to generate Insert statements&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SELECT 'SELECT ' + CAST(MenuID AS VARCHAR) +',' + COALESCE(CAST(ParentMenuID AS VARCHAR), 'NULL')+ ',''' + LabelMenu + ','''+ LinkMenu + ','''+ TargetMenu + ''','+ (CASE WHEN HighlightMenu IS NULL OR HighlightMenu = '' THEN 'NULL' ELSE +''''+ HighlightMenu +'''' END) + ' UNION ALL' FROM dbo.MainMenu&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;C# Code&lt;/b&gt;&lt;br /&gt;&lt;pre name="code" class="csharp"&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;        if (!IsPostBack)&lt;br /&gt;        {&lt;br /&gt;            PopulateMenu();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void PopulateMenu()&lt;br /&gt;    {&lt;br /&gt;        //Get the menu structure from the table&lt;br /&gt;        DataSet dsMenu = GetDataSetForMenu();&lt;br /&gt;&lt;br /&gt;        foreach (DataRow drDataRow in dsMenu.Tables["Menu"].Rows)&lt;br /&gt;        {&lt;br /&gt;            //If the ParentMenuID is NullOrEmpty then it is the top most menu&lt;br /&gt;            if (string.IsNullOrEmpty(Convert.ToString(drDataRow["ParentMenuID"])))&lt;br /&gt;            {&lt;br /&gt;                MenuItem mainMenuItem = new MenuItem((string)drDataRow["LabelMenu"], Convert.ToString(drDataRow["MenuID"]));&lt;br /&gt;                Menu1.Items.Add(mainMenuItem);&lt;br /&gt;                //CreateSubMenu(dsMenu, drDataRow, mainMenuItem);&lt;br /&gt;            }&lt;br /&gt;            else //Otherwise it is the submenu&lt;br /&gt;            {&lt;br /&gt;                CreateSubMenu(dsMenu, drDataRow, new MenuItem());&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void CreateSubMenu(DataSet dsSubMenu, DataRow drDataRow, MenuItem mainMenuItem)&lt;br /&gt;    {&lt;br /&gt;        //MenuID is the subMenu of the ParentMenuID&lt;br /&gt;        //string MenuID = Convert.ToString(drDataRow["MenuID"]);&lt;br /&gt;        string ParentMenuID = Convert.ToString(drDataRow["ParentMenuID"]);&lt;br /&gt;&lt;br /&gt;        //Which is always true&lt;br /&gt;        if (mainMenuItem.Text == string.Empty)&lt;br /&gt;        {&lt;br /&gt;            //If it is the firstChild of the parent find it here itself&lt;br /&gt;            mainMenuItem = Menu1.FindItem(Convert.ToString(drDataRow["ParentMenuID"]));&lt;br /&gt;            //If we can't able to find it in the main menu we have to look for sub-menu&lt;br /&gt;            if (mainMenuItem == null)&lt;br /&gt;                foreach (MenuItem mi in Menu1.Items)&lt;br /&gt;                {&lt;br /&gt;                    //Find the ParentMenu by ParentMenuID&lt;br /&gt;                    mainMenuItem = GetParentMenuItem(mi, Convert.ToString(drDataRow["ParentMenuID"]));&lt;br /&gt;                    if (mainMenuItem == null)&lt;br /&gt;                        continue;&lt;br /&gt;                    if (!mainMenuItem.Text.Trim().Equals(string.Empty))&lt;br /&gt;                        break;&lt;br /&gt;                }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        if (mainMenuItem == null)&lt;br /&gt;            return;&lt;br /&gt;        //This the child element&lt;br /&gt;        if (!string.IsNullOrEmpty(ParentMenuID))&lt;br /&gt;        {&lt;br /&gt;            MenuItem childrenItem = new MenuItem((string)drDataRow["LabelMenu"], Convert.ToString(drDataRow["MenuID"]));&lt;br /&gt;            childrenItem.Target = (string)drDataRow["LinkMenu"];&lt;br /&gt;            mainMenuItem.ChildItems.Add(childrenItem);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    // Recursive function   &lt;br /&gt;    private MenuItem GetParentMenuItem(MenuItem root, string value)&lt;br /&gt;    {&lt;br /&gt;        MenuItem menuItem;&lt;br /&gt;        //Is MenuItem has ChildItems&lt;br /&gt;        if (root.ChildItems.Count &gt; 0)&lt;br /&gt;        {&lt;br /&gt;            //Check which ChildItems is the Parent&lt;br /&gt;            for (int i = 0; i &lt; root.ChildItems.Count; i++)&lt;br /&gt;            {&lt;br /&gt;                menuItem = GetParentMenuItem(root.ChildItems[i], value);&lt;br /&gt;                if (menuItem != null)&lt;br /&gt;                    return menuItem;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        if (root.Value == value)&lt;br /&gt;        {&lt;br /&gt;            return root;&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;            return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private DataSet GetDataSetForMenu()&lt;br /&gt;    {&lt;br /&gt;        String constr = "Server=10.16.105.171;Database=test;Uid=test;Pwd=test123;Connect Timeout=0; pooling='true'; Max Pool Size=200";&lt;br /&gt;        String query = @"SELECT MenuID, ParentMenuID, LabelMenu, LinkMenu FROM dbo.MainMenu ORDER BY MenuID ASC";&lt;br /&gt;        DataSet dsMenu = new DataSet();&lt;br /&gt;&lt;br /&gt;        using (SqlConnection conn = new SqlConnection(constr))&lt;br /&gt;        {&lt;br /&gt;            SqlDataAdapter da = new SqlDataAdapter(query, conn);&lt;br /&gt;            da.Fill(dsMenu);&lt;br /&gt;            da.Dispose();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        dsMenu.DataSetName = "Menus";&lt;br /&gt;        dsMenu.Tables[0].TableName = "Menu";&lt;br /&gt;        DataRelation relation = new DataRelation("ParentChild",&lt;br /&gt;                                dsMenu.Tables["Menu"].Columns["MenuID"],&lt;br /&gt;                                dsMenu.Tables["Menu"].Columns["ParentMenuID"], true);&lt;br /&gt;&lt;br /&gt;        relation.Nested = true;&lt;br /&gt;        dsMenu.Relations.Add(relation);&lt;br /&gt;&lt;br /&gt;        //This constraint cannot be enabled as not all values have corresponding parent values.&lt;br /&gt;&lt;br /&gt;        return dsMenu;&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;a href="http://aspalliance.com/822"&gt;Reference&lt;/a&gt;&lt;b&gt;Exception:This constraint cannot be enabled as not all values have corresponding parent values.&lt;/b&gt;We will get this exception if we set 0 for ParentMenuID. Where the LabelMenu is parent. Since there is no MenuID with value 0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-1545649537572558921?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/1545649537572558921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=1545649537572558921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1545649537572558921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1545649537572558921'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/08/asp-menu.html' title='asp menu'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-9079598758965734152</id><published>2010-08-16T16:17:00.005+05:30</published><updated>2010-08-16T16:24:15.727+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conversion'/><title type='text'>ArrayList to List Conversion</title><content type='html'>&lt;b&gt;ArrayList To List&lt;/b&gt;&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;List&lt;int&gt; newList = new List&lt;int&gt;(arrayList.ToArray(typeof(int)));&lt;br /&gt;List&lt;string&gt; newList = new List&lt;string&gt;(arrayList.ToArray(typeof(string)));&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-9079598758965734152?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/9079598758965734152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=9079598758965734152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/9079598758965734152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/9079598758965734152'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/08/conversions.html' title='ArrayList to List Conversion'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-2120556823514531699</id><published>2010-08-16T11:30:00.001+05:30</published><updated>2010-08-16T12:00:03.882+05:30</updated><title type='text'>Undocumented SQL Server Commands</title><content type='html'>&lt;a href="http://www.mssqlcity.com/Articles/Undoc/SQL2000UndocDBCC.htm#part_2_8"&gt;Some Useful Undocumented SQL Server 7.0 and 2000 DBCC Commands&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mssqlcity.com/Articles/Undoc/SQL2000UndocSP.htm"&gt;SQL Server 2000 useful undocumented stored procedures&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sql-server-performance.com/articles/dev/extended_stored_procedures_p1.aspx"&gt;SQL Server Extended Stored Procedures&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-2120556823514531699?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/2120556823514531699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=2120556823514531699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2120556823514531699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2120556823514531699'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/08/undocumented-sql-server-commands.html' title='Undocumented SQL Server Commands'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-771581806897358550</id><published>2010-08-14T12:34:00.003+05:30</published><updated>2010-08-14T12:44:06.679+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Constraints In SQL Server</title><content type='html'>&lt;b&gt;Constraints:&lt;/b&gt; Rules defined on the table, which cannot be violated by the users.&lt;br /&gt;&lt;br /&gt;A constraint is a property assigned to a column or the set of columns in a table that prevents certain types of inconsistent data values from being placed in the column(s). Constraints are used to enforce the data integrity. This ensures the accuracy and reliability of the data in the database. The following categories of the data integrity exist:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Entity Integrity&lt;/li&gt;&lt;li&gt;Domain Integrity&lt;/li&gt;&lt;li&gt;Referential integrity&lt;/li&gt;&lt;li&gt;User-Defined Integrity&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Entity Integrity&lt;/b&gt; ensures that there are no duplicate rows in a table.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Default Constraint&lt;/li&gt;&lt;li&gt;Null Constraint&lt;/li&gt;&lt;li&gt;NOT null Constraint&lt;/li&gt;&lt;li&gt;Primary Key Constraint&lt;/li&gt;&lt;li&gt;Unique Key Constraint&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;Domain Integrity&lt;/b&gt; enforces valid entries for a given column by restricting the type, the format, or the range of possible values.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Check&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;Referential integrity&lt;/b&gt; ensures that rows cannot be deleted, which are used by other records (for example, corresponding data values between tables will be vital).&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Foreign Key&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;User-Defined Integrity&lt;/b&gt; enforces some specific business rules that do not fall into entity, domain, or referential integrity categories. Each of these categories of the data integrity can be enforced by the appropriate constraints. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Microsoft SQL Server supports the following constraints:&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;PRIMARY KEY&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Composite Key&lt;/li&gt;&lt;li&gt;Single-Column Key&lt;/li&gt;&lt;li&gt;Natural Key&lt;/li&gt;&lt;li&gt;Surrogate Key&lt;/li&gt;&lt;li&gt;Super Key&lt;/li&gt;&lt;li&gt;Candidate Key&lt;/li&gt;&lt;li&gt;Alternate Key&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;UNIQUE&lt;/li&gt;&lt;li&gt;FOREIGN KEY&lt;/li&gt;&lt;li&gt;CHECK&lt;/li&gt;&lt;li&gt;NOT NULL&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;A &lt;b&gt;PRIMARY KEY&lt;/b&gt; constraint is a unique identifier for a row within a database table. Every table should have a primary key constraint to uniquely identify each row and only one primary key constraint can be created for each table. The primary key constraints are used to enforce entity integrity. No null values are allowed. A table can have only one primary key. A primary key adds a clustered index to the table The key can created for single column or more columns of a table. When two or more columns are used as a primary key, they are called a composite key. &lt;b&gt;Not Null Constraint is automatically enforced.&lt;/b&gt; &lt;a href="http://www.blackwasp.co.uk/SQLPrimaryKeys.aspx "&gt;SQLPrimaryKeys&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Composite Key&lt;/b&gt; &lt;br /&gt;Creating Primary Key on more than a column is called Composite Key. Each single column's data can be duplicated but the combination values of these columns cannot be duplicated. &lt;br /&gt;&lt;b&gt;Rules&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;At all times it holds in the relation assigned to that variable that there are no&lt;br /&gt;two distinct tuples (rows) with the same values for these attributes and&lt;/li&gt;&lt;li&gt;There is not a proper subset of this set of attributes for which (1) holds.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;Natural Key&lt;/b&gt;&lt;br /&gt;It’s also Primary Key. For example creating Primary Key on employees Social Security Number.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Surrogate Key&lt;/b&gt;&lt;br /&gt;It’s also Primary Key. If there no suitable natural key exists then we have to create surrogate key. It is a single column primary key that created automatically (example: Identity in SQL Server) or system generated values (like generated via a table in the schema).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Super Key&lt;/b&gt;&lt;br /&gt;A Super Key is a combination of attributes that can be uniquely used to identify a database record. A table might have many Super Keys. A primary key is therefore a minimum Super Key.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Candidate Key&lt;/b&gt;&lt;br /&gt;Definition: A candidate key is a combination of attributes that can be uniquely used to identify a database record without any extraneous data. Each table may have one or more candidate keys. One of these candidate keys is selected as the table Primary Key. The remaining is called Alternate Keys.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Alternate Key&lt;/b&gt;&lt;br /&gt;A candidate key that is not the primary key is called an alternate key.&lt;br /&gt;&lt;br /&gt;A &lt;b&gt;UNIQUE&lt;/b&gt; constraint enforces the uniqueness of the values in a single column or a set of columns, so no duplicate values are entered. The unique key constraints are used to enforce entity integrity as the primary key constraints. Not Null Constraint is not automatically enforced. So it allows only one null value.&lt;br /&gt;&lt;br /&gt;A &lt;b&gt;FOREIGN KEY&lt;/b&gt; constraint prevents any actions that would destroy link between tables with the corresponding data values. A foreign key in one table points to a primary key in another table. Foreign keys prevent actions that would leave rows with foreign key values when there are no primary keys with that value. The foreign key constraints are used to enforce referential integrity.&lt;br /&gt;&lt;br /&gt;A &lt;b&gt;CHECK&lt;/b&gt; constraint is used to limit the values that can be placed in a column. The check constraints are used to enforce domain integrity.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A &lt;b&gt;NOT NULL&lt;/b&gt; constraint enforces that the column will not accept null values. The not null constraints are used to enforce domain integrity, as the check constraints. We can create constraints when the table is created, as part of the table definition by using the CREATE TABLE statement.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Super Key&lt;/b&gt; - Any combination of keys that make it unique.&lt;br /&gt;&lt;b&gt;Candidate Key&lt;/b&gt; - Minimum SK is called candidate key.&lt;br /&gt;&lt;b&gt;Primary Key&lt;/b&gt; - Any CK, which does not take null value.&lt;br /&gt;&lt;b&gt;Foreign Key&lt;/b&gt; - Reference to PK of another table with no nulls&lt;br /&gt;&lt;b&gt;Unique Key&lt;/b&gt; - Same feature is PK but can take null values. Also, in a table there can be many UK.&lt;br /&gt;&lt;br /&gt;Any attribute that is uniquely identifying a row in a table is candidate key for the table. We select one of the candidate keys as Primary key.&lt;br /&gt;All candidate keys, which are not chosen as primary key, are Alternate keys. &lt;br /&gt;&lt;br /&gt;The key which uniquely identify the rows of the table and which is made up of more than one attribute is called Composite key. Generally a candidate key becomes the primary key of the table. If the table has more than one candidate key one of them will become the primary key and the rest are called alternate keys.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-771581806897358550?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/771581806897358550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=771581806897358550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/771581806897358550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/771581806897358550'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/08/constraints-in-sql-server.html' title='Constraints In SQL Server'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-2183812757941605206</id><published>2010-07-30T19:11:00.005+05:30</published><updated>2010-08-25T16:12:40.062+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Query to get PrimaryKey, ForeignKey, IdentityKey, UniqueKey column names</title><content type='html'>&lt;pre class="sql" name="code"&gt;DECLARE  @TableName NVARCHAR(50)&lt;br /&gt;SET @TableName = 'PkFkIkTestIdentAsPk'&lt;br /&gt; &lt;br /&gt; SELECT&lt;br /&gt;  C.COLUMN_NAME,&lt;br /&gt;  C.DATA_TYPE,&lt;br /&gt;  C.ORDINAL_POSITION &lt;br /&gt; FROM&lt;br /&gt;  INFORMATION_SCHEMA.COLUMNS C &lt;br /&gt;  LEFT JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS COL&lt;br /&gt;  ON col.TABLE_NAME = C.TABLE_NAME &lt;br /&gt;  AND col.COLUMN_NAME = C.COLUMN_NAME&lt;br /&gt;  INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS tblCons &lt;br /&gt; ON tblCons.CONSTRAINT_NAME = col.CONSTRAINT_NAME &lt;br /&gt; WHERE tblCons.TABLE_NAME = @TableName &lt;br /&gt;  AND &lt;br /&gt;  (&lt;br /&gt;   tblCons.CONSTRAINT_TYPE = 'PRIMARY KEY' &lt;br /&gt;  OR tblCons.CONSTRAINT_TYPE = 'FOREIGN KEY' &lt;br /&gt;  OR tblCons.CONSTRAINT_TYPE = 'UNIQUE' &lt;br /&gt;  )&lt;br /&gt; UNION &lt;br /&gt;  SELECT C.COLUMN_NAME,&lt;br /&gt;  C.DATA_TYPE,&lt;br /&gt;  C.ORDINAL_POSITION&lt;br /&gt;  FROM&lt;br /&gt;  INFORMATION_SCHEMA.COLUMNS C&lt;br /&gt;  WHERE C.TABLE_NAME = @TableName&lt;br /&gt;  AND COLUMNPROPERTY(OBJECT_ID(C.TABLE_NAME), C.COLUMN_NAME,'IsIdentity') = 1&lt;/PRE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-2183812757941605206?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/2183812757941605206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=2183812757941605206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2183812757941605206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2183812757941605206'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/07/query-to-get-primarykey-foreignkey.html' title='Query to get PrimaryKey, ForeignKey, IdentityKey, UniqueKey column names'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-8968882773951381945</id><published>2010-07-10T16:52:00.006+05:30</published><updated>2010-07-10T17:16:10.300+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL SERVER DataTypes</title><content type='html'>To get the DataType information&lt;br /&gt;SP_HELP DataTypeName&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SELECT 'User_type' = name, &lt;br /&gt;       'Storage_type' = Type_name(xtype), &lt;br /&gt;       'Length(Size)' = length, &lt;br /&gt;       'Prec' = Typeproperty(name, 'precision'), &lt;br /&gt;       'Scale' = Typeproperty(name, 'scale'), &lt;br /&gt;       'Nullable' = CASE &lt;br /&gt;                      WHEN Typeproperty(name, 'AllowsNull') = 1 THEN 'Yes' &lt;br /&gt;                      ELSE 'No' &lt;br /&gt;                    END, &lt;br /&gt;       'Default_name' = Isnull(Object_name(tdefault), 'None'), &lt;br /&gt;       'Rule_name' = Isnull(Object_name(domain), 'None'), &lt;br /&gt;       'Collation' = collation &lt;br /&gt;FROM   systypes &lt;br /&gt;ORDER  BY name  &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;table style="vertical-align: top; text-align: left;" border="1" cellpadding="0"                cellspacing="0"&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;2008&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;2005&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;2000&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr style="font-size: 12pt"&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Exact Numerics&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Exact Numerics&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Exact Numerics&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;bigint&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;bigint&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;bigint&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;numeric&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;numeric&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;numeric&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;bit&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;bit&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;bit&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;smallint&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;smallint&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;smallint&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;decimal&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;decimal&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;decimal&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;smallmoney&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;smallmoney&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;smallmoney&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;int&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;int&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;int&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;tinyint&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;tinyint&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;tinyint&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;money&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;money&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;money&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Approximate Numerics&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Approximate Numerics&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Approximate Numerics&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;float&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;float&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;float&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;real&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;real&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;real&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;Date and Time&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;Date and Time&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;Date and Time&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;date&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;datetimeoffset&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;datetime2&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;smalldatetime&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;smalldatetime&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;smalldatetime&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;datetime&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;datetime&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;datetime&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;time&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Character Strings&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Character Strings&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Character Strings&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;char&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;char&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;char&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;varchar&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;varchar&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;varchar&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;text&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;text&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;text&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Unicode Character Strings&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Unicode Character Strings&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Unicode Character Strings&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;nchar&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;nchar&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;nchar&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;nvarchar&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;nvarchar&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;nvarchar&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;ntext&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;ntext&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;ntext&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Binary Strings&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Binary Strings&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Binary Strings&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;binary&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;binary&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;binary&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;varbinary&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;varbinary&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;varbinary&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;image&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;image&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;image&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Other Data Types&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Other Data Types&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;b&gt;Other Data Types&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;cursor&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;cursor&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;cursor&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;timestamp&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;timestamp&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;timestamp&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;hierarchyid&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;uniqueidentifier&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;uniqueidentifier&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;uniqueidentifier&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;sql_variant&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;sql_variant&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;sql_variant&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;xml&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;xml&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;table&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;table&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;table&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms187752.aspx"&gt;2008&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms187594(SQL.90).aspx"&gt;2005&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa258271(SQL.80).aspx"&gt;2000&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-8968882773951381945?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/8968882773951381945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=8968882773951381945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8968882773951381945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8968882773951381945'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/07/sql-server-datatypes.html' title='SQL SERVER DataTypes'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-5535096790949793469</id><published>2010-06-26T16:10:00.008+05:30</published><updated>2010-08-28T15:46:18.846+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><title type='text'>OutOfMemory Exception</title><content type='html'>The below code is used to merge multipage tiff with single page tiffs.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="csharp"&gt;/// &lt;summary&gt;&lt;br /&gt;/// To Merge the Single Page Tifs in folder to a Multipage Tiff Image&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;param name="sMultiPageTif"&gt;This denotes Multipage Image Full Path&lt;/param&gt;/// &lt;param name="lstSingleTifs"&gt;This denotes Single Page Tif Image List&lt;/param&gt;/// &lt;param name="sDestinationPath"&gt;After Merge where need to store the New Merged Tif Files&lt;/param&gt;private bool MergeTifImages(String sMultiPageTif, List&lt;string&gt; lstSingleTifs, String sDestinationPath)&lt;br /&gt;{&lt;br /&gt;String SinglePageTif = String.Empty;&lt;br /&gt;bool sflg = true;&lt;br /&gt;try&lt;br /&gt;{              &lt;br /&gt;// To Check Destination Path is Exist or Not, if not create the path and folder structure&lt;br /&gt;if (!Directory.Exists(@sDestinationPath)) Directory.CreateDirectory(@sDestinationPath);&lt;br /&gt;//Open file in read only mode &lt;br /&gt;using (FileStream fs = new FileStream(@sMultiPageTif, FileMode.Open, FileAccess.Read))&lt;br /&gt;{&lt;br /&gt;//To Form the Destination Tiff File Name&lt;br /&gt;String _sDestinatinPath = Path.Combine(@sDestinationPath, Path.GetFileName(@sMultiPageTif));&lt;br /&gt;//To Create the Image Codec Info                   &lt;br /&gt;ImageCodecInfo imageCodecInfo = GetEncoderInfo("image/tiff");&lt;br /&gt;&lt;br /&gt;//To Create the New bmp Image from the existing Multipage Tif&lt;br /&gt;//Image bmp = Image.FromStream(fs);&lt;br /&gt;Image newTiff = null;&lt;br /&gt;//To Select the Encoder and Compresstion formates for the Tif Images&lt;br /&gt;EncoderParameters SaveEncoderParameters = new EncoderParameters(2);&lt;br /&gt;System.Drawing.Imaging.Encoder SaveEncoder = System.Drawing.Imaging.Encoder.SaveFlag;&lt;br /&gt;EncoderParameter CompressEncodeParam = new EncoderParameter(SaveEncoder, (long)(EncoderValue.MultiFrame));&lt;br /&gt;SaveEncoderParameters.Param[0] = CompressEncodeParam;&lt;br /&gt;SaveEncoder = System.Drawing.Imaging.Encoder.Compression;&lt;br /&gt;CompressEncodeParam = new EncoderParameter(SaveEncoder, (long)(EncoderValue.CompressionCCITT4));&lt;br /&gt;SaveEncoderParameters.Param[1] = CompressEncodeParam;&lt;br /&gt;&lt;br /&gt;System.Drawing.Imaging.Encoder AddEncoder = System.Drawing.Imaging.Encoder.SaveFlag;&lt;br /&gt;EncoderParameter AddEncodeParam = new EncoderParameter(AddEncoder, (long)EncoderValue.FrameDimensionPage);&lt;br /&gt;System.Drawing.Imaging.Encoder AddCompressionEncoder = System.Drawing.Imaging.Encoder.Compression;&lt;br /&gt;EncoderParameter AddCompressionEncodeParam = new EncoderParameter(AddCompressionEncoder, (long)EncoderValue.CompressionCCITT4);&lt;br /&gt;EncoderParameters AddEncoderParams = new EncoderParameters(2);&lt;br /&gt;&lt;br /&gt;AddEncoderParams.Param[0] = AddEncodeParam;&lt;br /&gt;AddEncoderParams.Param[1] = AddCompressionEncodeParam;&lt;br /&gt;&lt;br /&gt;using (Image bmp = Image.FromStream(fs))&lt;br /&gt;{&lt;br /&gt;//Get the Page Count, i.e Frame Count&lt;br /&gt;int frameCount = bmp.GetFrameCount(FrameDimension.Page);&lt;br /&gt;&lt;br /&gt;//To Create Temp New Tiff                 &lt;br /&gt;newTiff = Converter.ConvertToBitonal(new Bitmap(bmp, bmp.Width, bmp.Height));&lt;br /&gt;&lt;br /&gt;// To Save the Multipage Tiff&lt;br /&gt;newTiff.Save(_sDestinatinPath, imageCodecInfo, SaveEncoderParameters);&lt;br /&gt;Application.DoEvents();&lt;br /&gt;//To Update frame by frame to the multipage&lt;br /&gt;int pageCount = 0;&lt;br /&gt;for (; pageCount &lt; frameCount; pageCount++)&lt;br /&gt;                        {&lt;br /&gt;                            switch (pageCount)&lt;br /&gt;                            {&lt;br /&gt;                                case 0:&lt;br /&gt;&lt;br /&gt;                                    newTiff.Save(_sDestinatinPath, imageCodecInfo, SaveEncoderParameters);&lt;br /&gt;                                    break;&lt;br /&gt;                                default:&lt;br /&gt;                                    bmp.SelectActiveFrame(System.Drawing.Imaging.FrameDimension.Page, pageCount);&lt;br /&gt;                                    // Convert image to bitonal for saving to file&lt;br /&gt;&lt;br /&gt;                                    using (Bitmap newPage = Converter.ConvertToBitonal(new Bitmap(bmp, bmp.Width, bmp.Height)))&lt;br /&gt;                                    {&lt;br /&gt;                                        //Bitmap newPage = Converter.ConvertToBitonal(new Bitmap(bmp, bmp.Width, bmp.Height));&lt;br /&gt;                                        newTiff.SaveAdd(newPage, AddEncoderParams);&lt;br /&gt;                                    }&lt;br /&gt;&lt;br /&gt;                                    break;&lt;br /&gt;                            }&lt;br /&gt;                            Application.DoEvents();&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                    // To Merage the Single Page Tif Image to Multipage Tif Image form Single Tifs List&lt;br /&gt;                    foreach (String SingleTif in lstSingleTifs)&lt;br /&gt;                    {&lt;br /&gt;                        try&lt;br /&gt;                        {&lt;br /&gt;                            CommonDeclarations.WriteLog("Single Page TIF: " + Path.GetFileName(SingleTif), false, false); &lt;br /&gt;                            using (FileStream fs1 = new FileStream(@SingleTif, FileMode.Open, FileAccess.Read))&lt;br /&gt;                            {&lt;br /&gt;                                //To over come Out of memory.&lt;br /&gt;                                //Image Singlebmp = Image.FromStream(fs1);&lt;br /&gt;                                using (Image Singlebmp = Image.FromStream(fs1))&lt;br /&gt;                                {&lt;br /&gt;                                    Application.DoEvents();&lt;br /&gt;                                    int frameCount = Singlebmp.GetFrameCount(FrameDimension.Page);&lt;br /&gt;                                    //To Check the Given Single Page tif is having More than One Frame&lt;br /&gt;                                    if (frameCount &gt; 1)&lt;br /&gt;{&lt;br /&gt;CommonDeclarations.WriteLog("The Selected Single Page TIF Having More Then One Page. Page Count: " + frameCount, false, false);&lt;br /&gt;//This works if Multipage exist &lt;br /&gt;int pageCount = 0;&lt;br /&gt;for (; pageCount &lt; frameCount; pageCount++)&lt;br /&gt;{&lt;br /&gt;Singlebmp.SelectActiveFrame(System.Drawing.Imaging.FrameDimension.Page, pageCount);&lt;br /&gt;// Convert image to bitonal for saving to file&lt;br /&gt;Bitmap SinglePageTiff = Converter.ConvertToBitonal(new Bitmap(Singlebmp, Singlebmp.Width, Singlebmp.Height));&lt;br /&gt;newTiff.SaveAdd(SinglePageTiff, AddEncoderParams);&lt;br /&gt;//  break;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;//This will works while Single Frame of Single Tiff Image&lt;br /&gt;using (Bitmap tempBmp = new Bitmap(Singlebmp, Singlebmp.Width, Singlebmp.Height))&lt;br /&gt;{&lt;br /&gt;using (Bitmap SinglePageTifs = Converter.ConvertToBitonal(tempBmp))&lt;br /&gt;{&lt;br /&gt;//Bitmap SinglePageTifs = Converter.ConvertToBitonal(new Bitmap(Singlebmp, Singlebmp.Width, Singlebmp.Height));&lt;br /&gt;Application.DoEvents();&lt;br /&gt;newTiff.SaveAdd(SinglePageTifs, AddEncoderParams);&lt;br /&gt;&lt;br /&gt;SinglePageTifs.Dispose();&lt;br /&gt;GC.Collect();&lt;br /&gt;}&lt;br /&gt;tempBmp.Dispose();&lt;br /&gt;GC.Collect();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Singlebmp.Dispose();&lt;br /&gt;GC.Collect();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;fs1.Close();&lt;br /&gt;fs1.Dispose();&lt;br /&gt;GC.Collect();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;catch (Exception ex)&lt;br /&gt;{&lt;br /&gt;CommonDeclarations.WriteLog(ex.Message.ToString(), false, false);&lt;br /&gt;sflg = false;&lt;br /&gt;}               &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;//Save the New Tiff and Encode the Tiff  Images&lt;br /&gt;AddEncoderParams.Param[0] = new EncoderParameter(AddEncoder, (long)EncoderValue.Flush);&lt;br /&gt;newTiff.SaveAdd(AddEncoderParams);&lt;br /&gt;newTiff.Dispose();&lt;br /&gt;GC.Collect();&lt;br /&gt;&lt;br /&gt;}             &lt;br /&gt;}&lt;br /&gt;catch (Exception ex)&lt;br /&gt;{&lt;br /&gt;//CommonDeclarations.ShowMessage(ex.Message.ToString(), "ERROR", lblShowMessage);&lt;br /&gt;CommonDeclarations.WriteLog("Some Error in MergeTifImages, Error: " + ex.Message.ToString(), false, false);&lt;br /&gt;sflg = false;&lt;br /&gt;}&lt;br /&gt;return sflg;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;After running the application I looked how much memory the Proces use. Object.Dispose(); doesn't release the memory occuped by the object immediately. It shows constant memory increase when seeing.After using GC.Collect(); if frees the memory. Afterwares no OutOfMemory Exception thrown.Here we added each image to a panel(pnlThumbnail) pnlThumbnail.Controls.Add(picBoxArray[iThumbCurrPage]); This occupies more memory. We have to clear that in the following way.&lt;pre name="code" class="csharp"&gt;//Clear the picture box stored in thumbnailArray&lt;br /&gt;                if (picBoxArray != null)&lt;br /&gt;                {&lt;br /&gt;                    foreach (PictureBox tempPb in picBoxArray)&lt;br /&gt;                    {&lt;br /&gt;                        if (tempPb.Image != null)&lt;br /&gt;                        {&lt;br /&gt;                            tempPb.Image.Dispose();&lt;br /&gt;                            tempPb.Image = null;&lt;br /&gt;&lt;br /&gt;                            GC.Collect();&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                    picBoxArray = null;&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                for (int clearPictureBox = 0; clearPictureBox &lt; pnlThumbnail.Controls.Count; clearPictureBox++)&lt;br /&gt;                {&lt;br /&gt;&lt;br /&gt;                    PictureBox pb = pnlThumbnail.Controls[clearPictureBox] as PictureBox;&lt;br /&gt;&lt;br /&gt;                    pnlThumbnail.Controls.Remove(pb);&lt;br /&gt;&lt;br /&gt;                    if (pb.Image != null)&lt;br /&gt;                    {&lt;br /&gt;                        pb.Image.Dispose();&lt;br /&gt;                        pb.Image = null;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                &lt;br /&gt;                if (pbShowTiffImage.Image != null)&lt;br /&gt;                {&lt;br /&gt;                    pbShowTiffImage.Image = null;&lt;br /&gt;                    pbShowTiffImage.Invalidate();&lt;br /&gt;                    GC.Collect();&lt;br /&gt;                }&lt;br /&gt;                                &lt;br /&gt;                //The above one is better than this&lt;br /&gt;                //foreach (IDisposable control in pnlThumbnail.Controls)&lt;br /&gt;                //    control.Dispose(); &lt;br /&gt;&lt;br /&gt;                pnlThumbnail.Controls.Clear();&lt;br /&gt;                GC.Collect();&lt;br /&gt;&lt;/pre&gt;&lt;b&gt;REferences&lt;/b&gt;&lt;a href="http://blogs.msdn.com/b/ricom/archive/2004/12/10/279612.aspx"&gt;Tracking down managed memory leaks (how to find a GC leak)&lt;/a&gt;&lt;br/&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.idisposable.dispose.aspx"&gt;IDisposable.Dispose Method &lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.dotnetspark.com/kb/878-best-practices-no-5---detecting-net-application.aspx"&gt;Detecting .NET application memory leaks&lt;/a&gt;&lt;br/&gt;&lt;a href="http://omaralzabir.com/memory_leak_with_delegates_and_workflow_foundation/"&gt;memory leak with delegates and workflow foundation&lt;/a&gt;&lt;br/&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163491.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/cc163491.aspx&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.codeproject.com/KB/dotnet/Memory_Leak_Detection.aspx"&gt;Memory Leak Detection in .NET&lt;/a&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-5535096790949793469?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/5535096790949793469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=5535096790949793469' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5535096790949793469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5535096790949793469'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/06/outofmemory-exception.html' title='OutOfMemory Exception'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-6961833195846450697</id><published>2010-06-16T15:38:00.008+05:30</published><updated>2011-09-12T11:31:34.385+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Stored Procedure Generator for SQL SERVER</title><content type='html'>Download the tool&lt;a href="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/SqlServerSPCreaterAugust25.rar"&gt;&lt;img alt="" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/WebDatabase.png" / height="24" width = "24"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height="506" alt="" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/SqlServerSPCreaterHelp.JPG" width="555" /&gt;&lt;br /&gt;1. Get Sql Server Name.&lt;br /&gt;2. Get Sql Server IP Address.&lt;br /&gt;3. Load Server from local machine.&lt;br /&gt;4. Load Server from your network.&lt;br /&gt;5. Press the button load to load the Server Name or IP Address.&lt;br /&gt;6. Press the button load to load the DataBase name for the the Selected Server Name or IP Address..&lt;br /&gt;7. Save to File save the Procudure as .sql file.&lt;br /&gt;8. Append The Scripts In SQLFile puts all the Procedure in a single .sql file.&lt;br /&gt;9. Create New File For Each SP creates new .sql file with the name of the procedure.&lt;br /&gt;10. Execute Script To Server, executes your procedure directly to your SQL server.&lt;br /&gt;11. Overwrite the SP If Already Exists. If any procedure already exists it drops the procedure and creates a new one.&lt;br /&gt;12. The left list box contails all the tables in your selected database.&lt;br /&gt;13. &gt;&gt; button to move from left listbox to right for creating procedure for the table.&lt;br /&gt;14. &lt;&lt; botton to move from the right listbox to left if you don't want to create procedure for the table.&lt;br /&gt;15. Select All To Move Right to select all tables in the left listbox for moving right.&lt;br /&gt;16. Select All To Move Left to select all tables in the right listbox for moving left.&lt;br /&gt;17. Click Create Scripts button to generate procedure according to the conditions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Happy Coding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-6961833195846450697?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/6961833195846450697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=6961833195846450697' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6961833195846450697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6961833195846450697'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/06/stored-procedure-generator-for-tables.html' title='Stored Procedure Generator for SQL SERVER'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-6711579845334987983</id><published>2010-04-30T17:11:00.002+05:30</published><updated>2010-06-30T16:20:20.694+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL SERVER Parameter Directions</title><content type='html'>There are 4 types of parameter direction in SQL SERVER.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Input&lt;/li&gt;&lt;li&gt;Output or Out&lt;/li&gt;&lt;li&gt;InputOutput&lt;/li&gt;&lt;li&gt;Return&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;But we can specify only OUT or OUTPUT as parameter direction for the Procedure or Function.&lt;br /&gt;&lt;br /&gt;RETURN at the last statement of the Procedure or Function and not in the parameter declaration of the Procedure or Function.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;IN&lt;/b&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;DECLARE @ParentID int&lt;br /&gt;SET @ParentID =6&lt;br /&gt;exec [dbo].[GetTestTable] @ParentID&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ALTER PROCEDURE [dbo].[GetTestTable](&lt;br /&gt;@ParentID INT)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;SET @ParentID =10&lt;br /&gt;SELECT @ParentID&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We can’t able to specify in any where during the execution or in the SP parameter direction.&lt;br /&gt;&lt;pre class="sql" name="code"&gt;DECLARE @ParentID int&lt;br /&gt;SET @ParentID =6&lt;br /&gt;exec [dbo].[GetTestTable] @ParentID IN –Not allowed&lt;br /&gt;&lt;br /&gt;ALTER PROCEDURE [dbo].[GetTestTable](&lt;br /&gt;@ParentID INT IN) -–Not allowed AS&lt;br /&gt;BEGIN&lt;br /&gt;SELECT @ParentID&lt;br /&gt;END&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;underline&gt;We will get this error.&lt;/UNDERLINE&gt;&lt;br /&gt;&lt;span style="font-family: times, 'Times New Roman', serif;color:red;"&gt;Incorrect syntax near the keyword 'in'.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;OUTPUT&lt;/b&gt;&lt;br /&gt;Output is not only for sending value back to the caller, it also accepts input from the caller. Since by default OUT implies both IN and OUT.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;E.g. 1&lt;/b&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;ALTER PROCEDURE [dbo].[GetTestTable](&lt;br /&gt;@ParentID INT OUTPUT)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;SET @ParentID = @ParentID + 5&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DECLARE @ParentID int&lt;br /&gt;SET @ParentID =6&lt;br /&gt;exec [dbo].[GetTestTable] @ParentID OUT&lt;br /&gt;PRINT @ParentID &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Result:&lt;/b&gt; 11&lt;br /&gt;&lt;br /&gt;There is no need of RETURN or SELECT statement for the OUT direction parameter. Just assing the value, we will get the result. &lt;br /&gt;&lt;br /&gt;If we didn’t assing a new value, we will get only the value we sent during execution of the Procedure or Function.(i.e. 6 for the above condion.)&lt;br /&gt;&lt;br /&gt;If we didn’t sent any value during execution of the Procedure or Function we will get only nothing for the below condion.&lt;br /&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;DECLARE @ParentID int&lt;br /&gt;exec [dbo].[GetTestTable] @ParentID OUT&lt;br /&gt;PRINT @ParentID&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;E.g. 2&lt;/b&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;ALTER PROCEDURE [dbo].[GetTestTable](&lt;br /&gt;@ParentID INT OUTPUT)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;SET @ParentID =10&lt;br /&gt;SELECT @ParentID&lt;br /&gt;END&lt;br /&gt;&lt;/PRE&gt;No need to pass value. Just specify the keyword OUT near the parameter.&lt;br /&gt;&lt;pre class="sql" name="code"&gt;DECLARE @ParentID INT&lt;br /&gt;EXEC [dbo].[GetTestTable] @ParentID OUT&lt;br /&gt;PRINT @ParentID&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Result:&lt;/b&gt; 10&lt;br /&gt;&lt;br /&gt;For the above Procedure or Function we are assigning value to the parameter and also we are using SELECT statement. Here we will get a result-set and aslo the value assigned to our argument.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;RETURN&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;There should be a RETURN statement at the end of the Procedure or Function. &lt;br /&gt;&lt;pre class="sql" name="code"&gt;ALTER PROCEDURE [dbo].[GetTestTable](&lt;br /&gt;@ParentID INT OUTPUT)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;SET @ParentID =10&lt;br /&gt;RETURN @ParentID&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;DECLARE @ParentID    INT&lt;br /&gt;DECLARE @ReturnValue INT&lt;br /&gt;SET @ParentID     =6&lt;br /&gt;EXEC @ReturnValue = [dbo].[GetTestTable] @ParentID&lt;br /&gt;PRINT @ReturnValue&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If there is no RETURN statemnt at the end of the Procedure or Function, we will get only the default value of the RETURN argument datatype.&lt;br /&gt;&lt;br /&gt;For example there is no RETURN statemnt for the above Procedure the result will be 0.&lt;br /&gt;&lt;br /&gt;We can’t able to return a table variable from a RETURN statement.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;By default OUT implies both IN and OUT.&lt;/li&gt;&lt;li&gt;Since our parameter is OUT we can pass value, since OUT implies both IN and OUT.&lt;/li&gt;&lt;li&gt;The default parameter direction is IN.&lt;/li&gt;&lt;li&gt;If the last statement is just RETURN without any value or a variable we will get&lt;br /&gt;nothing (if we didn’t pass value to the parameter of assign) or default value (if&lt;br /&gt;we assign value when passing). This is default for all the parameter direction.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;These all are wrong.&lt;/b&gt;&lt;br /&gt;@ReturnValue EXEC [dbo].[GetTestTable] @ParentID&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Line 4: Incorrect syntax near '@ReturnValue'.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;@ReturnValue = EXEC [dbo].[GetTestTable] @ParentID&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Line 4: Incorrect syntax near '@ReturnValue'.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;EXEC [dbo].[GetTestTable] @ParentID, @ReturnValue RETURN&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Procedure or Function GetTestTable has too many arguments specified.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-6711579845334987983?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/6711579845334987983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=6711579845334987983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6711579845334987983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6711579845334987983'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/04/sql-server-parameter-directions.html' title='SQL SERVER Parameter Directions'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-493146792117435135</id><published>2010-04-28T11:37:00.006+05:30</published><updated>2011-09-13T18:43:22.842+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Three tire code Generator for C#.NET</title><content type='html'>Download the tool&lt;a href="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/DataTireGeneratorJuly5.zip"&gt;&lt;img alt="" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/CodeGenerator.PNG" /&gt;&lt;/a&gt;Or&lt;a href="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/DataTireGeneratorJuly5.zip"&gt;&lt;img alt="" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/CodeGenerator.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img alt="" height="1593" src="http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/DataTireGenerator.PNG" width="603" /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Select Table Tab to get the tables for your ConnectionString.&lt;/li&gt;&lt;li&gt;Enter your connection string.&lt;/li&gt;&lt;li&gt;Press to get the tables for your ConnectionString.&lt;/li&gt;&lt;li&gt;After pressing the button Load Tables the tables are loaded. When selecting a table it focus on the Conditions tab and all the column and DataType are loaded automatically in 9, 10, 10.1.&lt;/li&gt;&lt;li&gt;Conditon tab to specify the property and field prefix.&lt;/li&gt;&lt;li&gt;Namespace for your class.&lt;/li&gt;&lt;li&gt;Name of your property class.&lt;/li&gt;&lt;li&gt;Name of your data access layer class.&lt;/li&gt;&lt;li&gt;Enter your table name. This helps to produce the sp name. For Select method it creates spname as GetTableName.&lt;/li&gt;&lt;li&gt;Table column name along with DataType.&lt;/li&gt;&lt;li&gt;10.1. Get distinct of DataType from 10.&lt;/li&gt;&lt;li&gt;Clear all the controls.&lt;/li&gt;&lt;li&gt;For each datatype in 10.1 we are generating a textbox to enter the prefix for the DataType.&lt;/li&gt;&lt;li&gt;For each data-type you want to specify a separate prefix check it. For exampele for string specify str. Your field will be created like strUserID. The panel will be enabled and enter it.&lt;/li&gt;&lt;li&gt;By default the field names are generated with underscore (_). If you want to change give a new one.&lt;/li&gt;&lt;li&gt;Enter the prefix for the fields. This will be enabled by checking Is prefix required for fields.&lt;/li&gt;&lt;li&gt;For properties some of us specify pUserID. If you want to specify enter it by check the checkbox of is prefix required for properties.&lt;/li&gt;&lt;li&gt;To genereate the Data Tire Classes.&lt;/li&gt;&lt;li&gt;If your get procedure contains any parameter check the select.&lt;/li&gt;&lt;li&gt;If your Delete procedure contains any parameter check the select.&lt;/li&gt;&lt;li&gt;Select the column names. These are the parameters for procedure Insert and Update.&lt;/li&gt;&lt;li&gt;This is single select. This column will be your direction. For all the four procedures.&lt;/li&gt;&lt;li&gt;Select your ParameterDirection&lt;/li&gt;&lt;li&gt;Select your ParameterDirection.&lt;/li&gt;&lt;li&gt;Select your ParameterDirection.&lt;/li&gt;&lt;li&gt;Select your ParameterDirection.&lt;/li&gt;&lt;li&gt;If you are using SQLHelper class check it. The code generated accordingly.&lt;/li&gt;&lt;li&gt;If you want to save the calsses as file check it. It opens a folder dialogue to select a path where to store the class files.&lt;/li&gt;&lt;li&gt;After select you can view the selected path.&lt;/li&gt;&lt;li&gt;The tab Properties contains a class with properties.&lt;/li&gt;&lt;li&gt;The tab DAL contains a class with functions for calling Select, Insert, Delete Update procecures.&lt;/li&gt;&lt;li&gt;The tab SQLHelper contains a class with functions for calling Select, Insert, Delete Update procecures. This class uses SQLHelper.cs&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Happy Coding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-493146792117435135?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/493146792117435135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=493146792117435135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/493146792117435135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/493146792117435135'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/04/c-data-tier-generator.html' title='Three tire code Generator for C#.NET'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-3407716952001996876</id><published>2010-04-27T18:54:00.004+05:30</published><updated>2010-06-30T16:41:34.956+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>ADO.NET Parameter Direction</title><content type='html'>&lt;style&gt;&lt;!-- /* Font Definitions */@font-face {font-family:"Arial Unicode MS"; panose-1:2 11 6 4 2 2 2 2 2 4; mso-font-charset:128; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1 -369098753 63 0 4129279 0;}@font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:536871559 0 0 0 415 0;}@font-face {font-family:"\@Arial Unicode MS"; panose-1:2 11 6 4 2 2 2 2 2 4; mso-font-charset:128; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1 -369098753 63 0 4129279 0;} /* Style Definitions */p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";}p.MsoBodyText, li.MsoBodyText, div.MsoBodyText {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; font-weight:bold; mso-bidi-font-weight:normal;}pre {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Arial Unicode MS";}@page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;}div.Section1 {page:Section1;}--&gt;&lt;/style&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;table align="left" border="1" cellpadding="0" cellspacing="0" style="border-bottom: medium none; border-collapse: collapse; border-left: medium none; border-right: medium none; border-top: medium none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-table-anchor-horizontal: margin; mso-table-anchor-vertical: margin; mso-table-left: left; mso-table-lspace: 9.0pt; mso-table-rspace: 9.0pt; mso-table-top: -26.25pt; width: 500px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; border-top: windowtext 0.5pt solid; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 113.4pt;" valign="top" width="151"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;Input&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: windowtext 0.5pt solid; mso-border-left-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.5in;" valign="top" width="144"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;InputOutput&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: windowtext 0.5pt solid; mso-border-left-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.65in;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;Output&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: windowtext 0.5pt solid; mso-border-left-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 100pt;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;ReturnValue&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 113.4pt;" valign="top" width="151"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;Passing&lt;br /&gt;value to procedure&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;or function.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.5in;" valign="top" width="144"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;Pass&lt;br /&gt;value to the procedure or function and get back the assigned value from the procedure&lt;br /&gt;or function.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.65in;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;Get&lt;br /&gt;value from the procedure or function.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 100pt;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;Get&lt;br /&gt;the value of the return statement.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 113.4pt;" valign="top" width="151"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: #2b91af; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;ParameterDirection&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;.Input;&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.5in;" valign="top" width="144"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: #2b91af; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;ParameterDirection&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;.InputOutput&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.65in;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: #2b91af; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;ParameterDirection&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;.Output&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 100pt;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: #2b91af; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;ParameterDirection&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;.ReturnValue&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 113.4pt;" valign="top" width="151"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;(&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;@Columndatetime&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;datetime&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;By default it is IN. So&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;it is not possible&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;to use the keyword IN.&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.5in;" valign="top" width="144"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;(&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;@Columndatetime&lt;br /&gt;&lt;span style="color: blue;"&gt;datetime&lt;/span&gt; OUT)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;Since&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt; &lt;/span&gt;&lt;span style="color: #339966; font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;OUT&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt; implies both IN and OUT and there is no INOUT.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.65in;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;(&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;@Columndatetime&lt;br /&gt;&lt;span style="color: blue;"&gt;datetime&lt;/span&gt; OUT)&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 100pt;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;We&lt;br /&gt;are not passing the parameter in Procedure or function. &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 113.4pt;" valign="top" width="151"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;DECLARE&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@Columnnumeric &lt;span style="color: blue;"&gt;numeric&lt;/span&gt;,&lt;br /&gt;@ReturnValue &lt;span style="color: blue;"&gt;NUMERIC&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;SET&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@Columnnumeric = 10&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;EXEC&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@ReturnValue &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;= [dbo].&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;[GetTestTable] @Columnnumeric,&lt;br /&gt;&lt;span style="color: red;"&gt;'BABU'&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;PRINT&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@ReturnValue&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.5in;" valign="top" width="144"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;We&lt;br /&gt;can assign the value any where in the procedure or function.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;We&lt;br /&gt;can assign value at declaration itself.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;(&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;@Columndatetime&lt;br /&gt;&lt;span style="color: blue;"&gt;datetime&lt;/span&gt; = 10&lt;br /&gt;OUT)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;If we didn’t assign value in the procedure&lt;br /&gt;or function it took the sent value.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;If we didn’t pass value and we didn’t assing&lt;br /&gt;value in the procedure or function but we assign default value it took the default&lt;br /&gt;value.&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.65in;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;We&lt;br /&gt;can assign the value any where in the procedure or function.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;We&lt;br /&gt;can assign value at declaration itself.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;(&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;@Columndatetime&lt;br /&gt;&lt;span style="color: blue;"&gt;datetime&lt;/span&gt; = 10&lt;br /&gt;OUT)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;If we didn’t assign value in the procedure&lt;br /&gt;or function it took the sent value.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;If we didn’t pass value and we didn’t assing&lt;br /&gt;value in the procedure or function but we assign default value it took the default&lt;br /&gt;value.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;DECLARE&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@Columnnumeric &lt;span style="color: blue;"&gt;numeric&lt;/span&gt;,&lt;br /&gt;@ReturnValue &lt;span style="color: blue;"&gt;NUMERIC&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;SET&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@Columnnumeric = 10&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;EXEC&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;[dbo].[GetTestTable] @Columnnumeric OUT,&lt;br /&gt;&lt;span style="color: red;"&gt;'BABU'&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;PRINT&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@Columnnumeric&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 100pt;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;This&lt;br /&gt;should be the last statement of the procedure or function.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;return&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;10&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;or like this.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;DECLARE&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@ReturnValue &lt;span style="color: blue;"&gt;numeric&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;SET&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@ReturnValue = 10&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;RETURN&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;10&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;Get value from the procedure or function.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;DECLARE&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@Columnnumeric &lt;span style="color: blue;"&gt;numeric&lt;/span&gt;,&lt;br /&gt;@ReturnValue &lt;span style="color: blue;"&gt;NUMERIC&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;SET&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@Columnnumeric = 10&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;EXEC&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@ReturnValue = [dbo].[GetTestTable]&lt;br /&gt;@Columnnumeric&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;PRINT&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;@ReturnValue&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 113.4pt;" valign="top" width="151"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.5in;" valign="top" width="144"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.65in;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 100pt;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 113.4pt;" valign="top" width="151"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Parameters&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Add(&lt;span style="color: #a31515;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: #a31515;"&gt;&lt;br /&gt;@Columnnumeric"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;, &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;SqlDbType&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: #2b91af;"&gt;&lt;br /&gt;&lt;/span&gt;.Decimal)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Value = &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;10.0d;&lt;/span&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.5in;" valign="top" width="144"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Add(&lt;span style="color: #a31515;"&gt;"@&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: #a31515;"&gt;&lt;br /&gt;Columnnumeric"&lt;/span&gt;, &lt;span style="color: #2b91af;"&gt;SqlDbType&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Decimal)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Value = 10.0d;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Parameters[&lt;span style="color: #a31515;"&gt;"@&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;span style="color: #a31515;"&gt;&lt;br /&gt;Columnnumeric"&lt;/span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Direction = &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;Parameter&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: #2b91af;"&gt;&lt;br /&gt;Direction&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;. InputOutput;&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.65in;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Parameters&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Add(&lt;span style="color: #a31515;"&gt;"@&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;span style="color: #a31515;"&gt;&lt;br /&gt;Columnnumeric"&lt;/span&gt;, &lt;span style="color: #2b91af;"&gt;SqlDbType&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Decimal).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Value = 10.0d;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Parameters[&lt;span style="color: #a31515;"&gt;"@&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;span style="color: #a31515;"&gt;&lt;br /&gt;Columnnumeric"&lt;/span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Direction = &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;Parameter&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: #2b91af;"&gt;&lt;br /&gt;Direction&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Output;&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 100pt;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Parameters&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Add&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;(&lt;span style="color: #a31515;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: #a31515;"&gt;&lt;br /&gt;@Columnnumeric"&lt;/span&gt;, &lt;span style="color: #2b91af;"&gt;SqlDbType&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: #2b91af;"&gt;&lt;br /&gt;&lt;/span&gt;.Decimal).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Value = 10.0d;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Parameters&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;[&lt;span style="color: #a31515;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: #a31515;"&gt;&lt;br /&gt;@Columnnumeric"&lt;/span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Direction = &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;Parameter&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;span style="color: #2b91af;"&gt;&lt;br /&gt;Direction&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.ReturnValue;&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 113.4pt;" valign="top" width="151"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.5in;" valign="top" width="144"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: #2b91af; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Decimal&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Columnnumeric = (&lt;span style="color: #2b91af;"&gt;Decimal&lt;/span&gt;)objCmd.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Parameters&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;[&lt;span style="color: #a31515;"&gt;"@ColumnnTest"&lt;/span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Value;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.65in;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="color: #2b91af; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Decimal&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; Columnnumeric&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;br /&gt;&amp;nbsp; &lt;/span&gt;= (&lt;span style="color: #2b91af;"&gt;Decimal&lt;/span&gt;)objCmd.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Parameters&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;[&lt;span style="color: #a31515;"&gt;"@ColumnnTest"&lt;/span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Value;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 100pt;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="color: #2b91af; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Decimal&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Columnnumeric = (&lt;span style="color: #2b91af;"&gt;Decimal&lt;/span&gt;)objCmd.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Parameters&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;[&lt;span style="color: #a31515;"&gt;"@ColumnnTest"&lt;/span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-wrap: auto; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.Value;&lt;/span&gt;&lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 113.4pt;" valign="top" width="151"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-layout-grid-align: none;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: blue; font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.5in;" valign="top" width="144"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 1.65in;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-size: 12.0pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; border-right: windowtext 0.5pt solid; border-top: medium none; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 100pt;" valign="top"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;If the&lt;span style="color: blue;"&gt; &lt;/span&gt;ParameterDirection&lt;br /&gt;is &lt;span style="color: #2b91af;"&gt;ParameterDirection&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-element-anchor-horizontal: margin; mso-element-frame-hspace: 9.0pt; mso-element-top: -26.25pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;"&gt;&lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;.ReturnValue we should not use the parameter&lt;br /&gt;in prarameter declaration of the procedure or function.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;!supportEmptyParas]&amp;gt;&amp;nbsp;&amp;lt;![endif]&amp;gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;div class="Section1"&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;http://weblogs.asp.net/andrewrea/archive/2008/02/19/examples-of-using-system-data-parameterdirection-with-sql-server.aspx&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Rules to follow&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Rule 1&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;If our &lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;ParameterDirection is &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;ParameterDirection&lt;/span&gt;.ReturnValue and we are using in the parameter of the&lt;br /&gt;Procedure or Function it expects the parameter. And we throw this error.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Procedure 'GetTestTable'&lt;br /&gt;expects parameter '@Columnnumeric', which was not supplied.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;We should not use the parameter in the procedure if we set &lt;span style="font-family: Verdana; font-size: 9pt; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 10.0pt;"&gt;&lt;br /&gt;ParameterDirection as &lt;span style="color: #2b91af;"&gt;ParameterDirection&lt;/span&gt;.ReturnValue&lt;br /&gt;in ADO.net.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;strong&gt;E.g.&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;CREATE&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span style="color: blue;"&gt;PROCEDURE &lt;/span&gt;[dbo].[GetTestTable] &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;(&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;@Columndatetime &lt;span style="color: blue;"&gt;DATETIME&lt;/span&gt;,&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Columnnumeric&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;NUMERIC&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;AS&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;span style="color: blue;"&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;span style="mso-tab-count: 2;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN&lt;/span&gt; 15&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;END&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters.Add(&lt;span style="color: #a31515;"&gt;"@Columndatetime"&lt;/span&gt;, &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;SqlDbType&lt;/span&gt;.DateTime).Value = objPropertiesClassName.Columndatetime;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters.Add(&lt;span style="color: #a31515;"&gt;"@Columnnumeric"&lt;/span&gt;, &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;SqlDbType&lt;/span&gt;.Decimal).Value = objPropertiesClassName.Columnnumeric;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters[&lt;span style="color: #a31515;"&gt;"@Columnnumeric"&lt;/span&gt;].Direction = &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;ParameterDirection&lt;/span&gt;.ReturnValue;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.ExecuteNonQuery();&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;int&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; i = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)objCmd.Parameters[&lt;span style="color: #a31515;"&gt;"@Columnnumeric"&lt;/span&gt;].Value;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Rule 2&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;Consider that we have given the parameter order as given below.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: black;"&gt;The parameter &lt;/span&gt;&lt;span style="color: #a31515; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;@ColumnnTest&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; will contain the return value. We will think that we have specified&lt;br /&gt;the direction ReturnValue to &lt;/span&gt;&lt;span style="color: #a31515; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;@Columnnumeric&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; before &lt;/span&gt;&lt;span style="color: #a31515; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;@ColumnnTest and @Columnnumeric will contain the value&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;. But it is&lt;br /&gt;not like that. Since we added the parameter @ColumnnTest before @Columnnumeric.&lt;br /&gt;It took according to the order of parameter that we are adding to the command.&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters.Add(&lt;span style="color: #a31515;"&gt;"@ColumnnTest"&lt;/span&gt;, &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;SqlDbType&lt;/span&gt;.Decimal).Value = objPropertiesClassName.Columnnumeric;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters.Add(&lt;span style="color: #a31515;"&gt;"@Columnnumeric"&lt;/span&gt;, &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;SqlDbType&lt;/span&gt;.Decimal).Value = objPropertiesClassName.Columnnumeric;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters[&lt;span style="color: #a31515;"&gt;"@Columnnumeric"&lt;/span&gt;].Direction = &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;ParameterDirection&lt;/span&gt;.ReturnValue;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters[&lt;span style="color: #a31515;"&gt;"@ColumnnTest"&lt;/span&gt;].Direction = &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;ParameterDirection&lt;/span&gt;.ReturnValue;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;int&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; j = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)objCmd.Parameters[&lt;span style="color: #a31515;"&gt;"@ColumnnTest"&lt;/span&gt;].Value;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;object&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; i = (&lt;span style="color: blue;"&gt;object&lt;/span&gt;)objCmd.Parameters[&lt;span style="color: #a31515;"&gt;"@Columnnumeric"&lt;/span&gt;].Value;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&lt;br /&gt;&lt;strong&gt;Rule 3&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters.Add(&lt;span style="color: #a31515;"&gt;"@ColumnnTest"&lt;/span&gt;, &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;SqlDbType&lt;/span&gt;.Decimal).Value = 20.0d;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters.Add(&lt;span style="color: #a31515;"&gt;"@Columnnumeric"&lt;/span&gt;, &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;SqlDbType&lt;/span&gt;.Decimal).Value = 10.0d;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters[&lt;span style="color: #a31515;"&gt;"@Columnnumeric"&lt;/span&gt;].Direction = &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;ParameterDirection&lt;/span&gt;.ReturnValue;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;objCmd.Parameters[&lt;span style="color: #a31515;"&gt;"@ColumnnTest"&lt;/span&gt;].Direction = &lt;span style="color: #2b91af;"&gt;&lt;br /&gt;ParameterDirection&lt;/span&gt;.ReturnValue;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;If the procedure or function&lt;br /&gt;doesn’t return any value, the first added parameter tooks the default value.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;But the next parameter took&lt;br /&gt;the value that we asigned.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Here &lt;span style="color: #a31515;"&gt;&lt;br /&gt;@ColumnnTest returns 0.0d, while &lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"@Columnnumeric&lt;br /&gt;returns the assigned value 10.0d.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoBodyText"&gt;We can ask instead of ReturnValue can we use ExecuteScalar(), since it also returns&lt;br /&gt;single value.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The ExecuteScalar returns a single value that is in the form of a result set. &amp;nbsp;That&lt;br /&gt;means the value must be "SELECTed" in the SQL.&lt;span style="mso-spacerun: yes;"&gt;&lt;br /&gt;&lt;/span&gt;I.e. if the result-set contains 3 columns and 2 rows, it took only the 1&lt;sup&gt;st&lt;/sup&gt;&lt;br /&gt;row and 0&lt;sup&gt;th&lt;/sup&gt; column value. The remaining are discarded.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;Using the RETURN keyword is possible through the use of a ReturnValue parameter.&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4"&gt;&lt;strong&gt;References&lt;/strong&gt; &lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/yy6y35y8.aspx"&gt;Configuring Parameters and Parameter Data Types (ADO.NET)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/andrewrea/archive/2008/02/19/examples-of-using-system-data-parameterdirection-with-sql-server.aspx"&gt;Examples of using System.Data.ParameterDirection with Sql Server &lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-3407716952001996876?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/3407716952001996876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=3407716952001996876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3407716952001996876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3407716952001996876'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/04/parameter-direction.html' title='ADO.NET Parameter Direction'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-4607671661264275555</id><published>2010-04-20T17:08:00.001+05:30</published><updated>2010-04-20T17:13:46.043+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><title type='text'>Errors and Solution</title><content type='html'>&lt;b&gt;Error 1:&lt;/b&gt;&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;string isEmpty = string.Empty;&lt;br /&gt;DateTime dt = isEmpty == string.Empty ? BNull.Value : DateTime.Now;&lt;br /&gt;&lt;/pre&gt;&lt;b&gt;Error&lt;/b&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Type of conditional expression cannot be determined because there is no implicit conversion between 'System.DBNull' and 'System.DateTime'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution&lt;/b&gt;&lt;br /&gt;Cast it to object.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;string isEmpty = string.Empty;&lt;br /&gt;DateTime dt = Convert.ToDateTime(isEmpty == string.Empty ? (object)DBNull.Value : (object)DateTime.Now);&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-4607671661264275555?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/4607671661264275555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=4607671661264275555' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/4607671661264275555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/4607671661264275555'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/04/errors-and.html' title='Errors and Solution'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-5214697563099149085</id><published>2010-04-15T19:31:00.002+05:30</published><updated>2011-11-30T15:58:16.326+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>User Defined Functions</title><content type='html'>Types of User Defined Functions&lt;br /&gt;I. Scalar Functions &lt;br /&gt;II. In-Line Table Functions&lt;br /&gt;III. Multistatement Table Functions&lt;br /&gt;&lt;br /&gt;Accept parameters of any scalar data type except rowversion&lt;br /&gt;&lt;br /&gt;&lt;div id="divGrid" style="height: 550px; width: 600px; overflow: auto; position: relative; border: solid 0px green;"&gt;&lt;table align="left" border="1" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt; &lt;th&gt;&lt;br /&gt;Scalar Functions&lt;/th&gt; &lt;th&gt;&lt;br /&gt;In-Line Table Functions&lt;/th&gt; &lt;th&gt;&lt;br /&gt;Multistatement Table Functions&lt;/th&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;Returns only scalar value.&lt;br /&gt;&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;Return a table variable that was created by a single select statement.&lt;br /&gt;&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;Returns a table variable. No multi result set.&lt;br /&gt;&lt;br /&gt;This type of function is used when we want to apply more logic except we can express&lt;br /&gt;in a single query.&lt;br /&gt;&lt;br /&gt;I.e. like stored procedure we can manipulate with more statements.&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;Support multiple T-SQL statements.&lt;br /&gt;&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;Supports only sing T-SQL Statement.&lt;br /&gt;&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;Support multiple T-SQL statements.&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;Return type is fixed.&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;No need to specify the table column names and its type.&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;We have to specify the table columns.&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td style="vertical-align: top"&gt;&lt;pre class="sql" name="code"&gt;&lt;br /&gt;CREATE FUNCTION Testscalar(@ID INT) &lt;br /&gt;RETURNS INT &lt;br /&gt;AS &lt;br /&gt;  BEGIN &lt;br /&gt;      SELECT @ID = 10 &lt;br /&gt;      SELECT @ID = @ID + 1 &lt;br /&gt;      SELECT @ID = @ID + 1 &lt;br /&gt;      RETURN @ID &lt;br /&gt;  END &lt;br /&gt;&lt;/sql&gt;&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;pre class="sql" name="code"&gt;&lt;br /&gt;CREATE FUNCTION [dbo].[Testinline]&lt;br /&gt;                           (&lt;br /&gt;                                   Params&lt;br /&gt;                           )&lt;br /&gt;RETURNS TABLE AS&lt;br /&gt;RETURN&lt;br /&gt;	SELECT *&lt;br /&gt;	FROM   dbo.treeview &lt;br /&gt;&lt;/pre&gt;&lt;pre class="sql" name="code"&gt;&lt;br /&gt;CREATE FUNCTION [dbo].[Testinline](@i INT) RETURNS TABLE AS&lt;br /&gt;RETURN&lt;br /&gt;SELECT @i AS [ColName]&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;&lt;br /&gt;CREATE FUNCTION [dbo].[Testmultiline]&lt;br /&gt;                              (&lt;br /&gt;                                      @ID INT&lt;br /&gt;                              )&lt;br /&gt;RETURNS @TableVariable TABLE ( I INT,&lt;br /&gt;                              J  VARCHAR(10)) AS&lt;br /&gt;BEGIN&lt;br /&gt;        INSERT&lt;br /&gt;        INTO   @TableVariable&lt;br /&gt;        SELECT 1, '10' UNION ALL&lt;br /&gt;        SELECT 2, '20' UNION ALL&lt;br /&gt;        SELECT 3, '30'&lt;br /&gt;        &lt;br /&gt;        RETURN&lt;br /&gt;END&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;The last statement included within a function must be a return statement&lt;br /&gt;&lt;br /&gt;RETURN statements in scalar valued functions must include an argument.&lt;br /&gt;&lt;br /&gt;Simply retrun statemet is wrong.&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;The last statement included within a function must be a return statement.&lt;br /&gt;&lt;br /&gt;Return @I is wrong&lt;br /&gt;&lt;br /&gt;Return @I as a is wrong&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;br /&gt;The last statement included within a function must be a return statement.&lt;br /&gt;&lt;br /&gt;return @TableVariable is wrong.&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Original Link : &lt;a href = "http://www.15seconds.com/Issue/000817.htm"&gt;15seconds&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Valid&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;· Control-flow statements &lt;br /&gt;· Assignment statements&lt;br /&gt;· Variable declarations &lt;br /&gt;· SELECT statements that modify local variables &lt;br /&gt;· Cursor operations that fetch into local variables &lt;br /&gt;· INSERT, UPDATE, DELETE statement that act upon local table variables &lt;br /&gt;&lt;strong&gt;Invalid:&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;· Built-in, nondeterministic functions such as GetDate() &lt;br /&gt;· Statements that update, insert, or delete tables or views &lt;br /&gt;· Cursor fetch operations that return data to the client &lt;br /&gt;. can’t able to execute a stored procedure.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to Call Scalar-valued Functions&lt;/b&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SELECT ColNames, dbo.ScalarValuedFunction(starttime,endtime) AS ColName FROM TableName&lt;br /&gt;WHERE BankerID = dbo.ScalarValuedFunction('IBM')&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;How to Call Table-valued Functions&lt;/b&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SELECT * FROM dbo.TableValuedFunctions('key1|key2|key3|key4|key5', '|')&lt;br /&gt;-- For converting arrays to table&lt;br /&gt;&lt;br /&gt;SELECT * FROM Department D &lt;br /&gt;CROSS APPLY dbo.fn_GetAllEmployeeOfADepartment(D.DepartmentID) &lt;br /&gt;&lt;br /&gt;SELECT * FROM Department D &lt;br /&gt;OUTER APPLY dbo.fn_GetAllEmployeeOfADepartment(D.DepartmentID) &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-5214697563099149085?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/5214697563099149085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=5214697563099149085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5214697563099149085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5214697563099149085'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/04/user-defined-functions.html' title='User Defined Functions'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-7685137851980859105</id><published>2010-04-13T18:37:00.000+05:30</published><updated>2010-04-13T18:46:21.238+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IhttpHandlers IhttpModule'/><title type='text'>Handlers Module</title><content type='html'>HttpContext&lt;br /&gt;- Request&lt;br /&gt;- Response&lt;br /&gt;&lt;br /&gt;HttpApplication&lt;br /&gt;- maintaining application-scope methods&lt;br /&gt;- data&lt;br /&gt;- events&lt;br /&gt;- After the HttpApplication object massages the request, it pushes the request through one or more HttpModule objects.&lt;br /&gt;&lt;br /&gt;HttpModule&lt;br /&gt;&lt;br /&gt;- When an HttpModule is hooked into the pipeline (via an entry in web.config), the ASP.NET runtime calls the module's Init and Dispose methods.&lt;br /&gt;- Init is called when the module attaches itself to the HttpApplication object&lt;br /&gt;- Dispose is called when the module is detached from HttpApplication.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border = "1px" cellspacing = "2px"&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Event&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Occurs&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;AcquireRequestState&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;When ASP.NET acquires the current state (for example, session state) associated&lt;br /&gt;with the current request&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;AuthenticateRequest&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;When a security module has established the identity of the user&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;AuthorizeRequest&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;When a security module has verified user authorization&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;BeginRequest&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;When the first event in the HTTP pipeline chain of execution responds to a request&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Disposed&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;When ASP.NET completes the chain of execution when responding to a request&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;EndRequest&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;When the last event in the HTTP pipeline chain of execution responds to a request&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Error&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;When an unhandled exception is thrown&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;PostRequestHandlerExecute&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;When the ASP.NET handler (page, XML Web Service) finishes execution&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;PreRequestHandlerExecute&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Just before ASP.NET begins executing a handler such as a page or XML Web Service&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;PreSendRequestContent&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Just before ASP.NET sends content to the client&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;PreSendRequestHeaders&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Just before ASP.NET sends HTTP headers to the client&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;ReleaseRequestState&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;After ASP.NET finishes executing all request handlers; also causes state modules&lt;br /&gt;to save the current state data&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;ResolveRequestCache&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;When ASP.NET completes an authorization event to let the caching modules serve requests&lt;br /&gt;from the cache, bypassing execution of the handler (the page or XML Web Service,&lt;br /&gt;for example)&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;UpdateRequestCache&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;When ASP.NET finishes executing a handler in order to let caching modules store&lt;br /&gt;responses that will be used to serve subsequent requests from the cache&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;httpmodules&amp;gt;&lt;br /&gt;&amp;lt;add name="MyHttpModule" type="name of the class which implement the interface IHttpModule, path where the class is present, Culture=neutral"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;httpmodules&amp;gt;&lt;br /&gt;&amp;lt;add type="[Namespace.]SeoUrls, [AssemblyName], [Version=x.x.x.x, Culture=neutral, PublicKeyToken=933d439bb833333a]" name="SeoUrls"&amp;gt;&lt;br /&gt;&amp;lt;/add&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;httpmodules&amp;gt;&lt;br /&gt;&amp;lt;add name="MyHttpModule" type="Secure, App_Code, Culture=neutral"&amp;gt;&lt;br /&gt;&amp;lt;/add&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;httphandlers&amp;gt;&lt;br /&gt;&amp;lt;add verb="*" path="*.data" type="namespace.classname, assemblyname(I.E. DLL Name)"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;add verb="*" path="xyz.aspx" type="test.MyFactory,HandlerFactoryTest"&amp;gt;&lt;br /&gt;&amp;lt;/add&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/add&amp;gt;&amp;lt;/httphandlers&amp;gt;&amp;lt;/httpmodules&amp;gt;&amp;lt;/httpmodules&amp;gt;&amp;lt;/add&amp;gt;&amp;lt;/httpmodules&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-7685137851980859105?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/7685137851980859105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=7685137851980859105' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7685137851980859105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7685137851980859105'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/04/handlers-module.html' title='Handlers Module'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-1945631663408298855</id><published>2010-04-13T18:18:00.001+05:30</published><updated>2011-11-30T16:16:34.746+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>ISNULL() vs COALESCE()</title><content type='html'>&lt;table border = "1PX" cellspacing = "2PX"&gt;&lt;tr&gt;                     &lt;th&gt;&lt;br /&gt;ISNULL()&lt;br /&gt;&lt;/th&gt;                     &lt;th&gt;&lt;br /&gt;COALESCE()&lt;br /&gt;&lt;/th&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;Specifc to SQL SERVER&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;ANSI standard. &lt;br /&gt;&lt;br /&gt;The query can be used in another RDBMS which follows the ANSI standard.&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;select ISNULL(NULL, NULL)&lt;br /&gt;&lt;br /&gt;--O/P null&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;select COALESCE(NULL, NULL)&lt;br /&gt;&lt;br /&gt;Error: None of the result expressions in a CASE specification&lt;br /&gt;&lt;br /&gt;can be NULL.&lt;br /&gt;&lt;br /&gt;In coalesce atleast one parameter should not be null.&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;declare @a varchar(10)&lt;br /&gt;&lt;br /&gt;declare @b varchar(10)&lt;br /&gt;&lt;br /&gt;select isnull(@a, @b) &lt;br /&gt;&lt;br /&gt;--O/P null&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;declare @a varchar(10)&lt;br /&gt;&lt;br /&gt;declare @b varchar(10)&lt;br /&gt;&lt;br /&gt;select COALESCE (@a, @b)&lt;br /&gt;&lt;br /&gt;--O/P null&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;Required 2 parameters&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;Requires atleast 2 parameters&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;Accepts only 2 parameters.&lt;br /&gt;&lt;br /&gt;But we can nest like this if we want more than 2 parameter.&lt;br /&gt;&lt;br /&gt;ISNULL(ISNULL(Col1,Col2), Col3)&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;td&gt;&lt;br /&gt;I tried 18600 parameters. &lt;br /&gt;&lt;br /&gt;If it reaches more than that or with this count itself&lt;br /&gt;&lt;br /&gt;the SQL SERVER throws "System.OutOfMemoryException". &lt;br /&gt;&lt;br /&gt;So I think this blongs to hardware specification.&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;tr&gt;                     &lt;td&gt;&lt;br /&gt;Consider 2nd parameter data type as first datatype.&lt;br /&gt;&lt;br /&gt;(i.e. It uses as the first parameter datatype.)&lt;br /&gt;&lt;br /&gt;If the length of the second parameter is greater than the first parameter&lt;br /&gt;&lt;br /&gt;it will be truncated to first parameter size.&lt;br /&gt;&lt;br /&gt;Eg.1&lt;br /&gt;&lt;br /&gt;declare @a varchar(10)&lt;br /&gt;&lt;br /&gt;declare @b DATETIME&lt;br /&gt;&lt;br /&gt;SET @b = GETDATE()&lt;br /&gt;&lt;br /&gt;select isnull(@a, @b)&lt;br /&gt;&lt;br /&gt;--O/P Apr 13 201&lt;br /&gt;&lt;br /&gt;--It took the format 100 and varchar size to 10.&lt;br /&gt;&lt;br /&gt;--Change the varchar size of below query and you will understand.&lt;br /&gt;&lt;br /&gt;select isnull(@a, convert(varchar(11), @b, 100))&lt;br /&gt;&lt;br /&gt;--O/P Apr 13 2010&lt;br /&gt;&lt;br /&gt;Eg.2&lt;br /&gt;&lt;br /&gt;declare @a varchar(5)&lt;br /&gt;&lt;br /&gt;declare @b varchar(8)&lt;br /&gt;&lt;br /&gt;SET @b = 'SQL SERVER'&lt;br /&gt;&lt;br /&gt;select isnull(@a, @b)&lt;br /&gt;&lt;br /&gt;--O/P SQL S&lt;br /&gt;&lt;br /&gt;It truncates to first parameter size.&lt;br /&gt;&lt;br /&gt;Eg.3&lt;br /&gt;&lt;br /&gt;declare @a varchar(5)&lt;br /&gt;&lt;br /&gt;declare @b varchar(8)&lt;br /&gt;&lt;br /&gt;declare @c int&lt;br /&gt;&lt;br /&gt;SET @c = 123456&lt;br /&gt;&lt;br /&gt;select isnull(@a, @c)&lt;br /&gt;&lt;br /&gt;--O/P *&lt;br /&gt;&lt;br /&gt;If SET @c = 12345--O/P 12345&lt;br /&gt;&lt;br /&gt;Since @a size is 5 which is the first parameter.&lt;br /&gt;&lt;/td&gt;                     &lt;td style ="vertical-align:text-top"&gt;&lt;br /&gt;Multiple datatype is allowed.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;It took highest data type in the expression list.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If we are having int and double. It took double.&lt;br /&gt;&lt;br /&gt;Eg.1&lt;br /&gt;&lt;br /&gt;declare @a varchar(10)&lt;br /&gt;&lt;br /&gt;declare @b DATETIME&lt;br /&gt;&lt;br /&gt;SET @b = GETDATE()&lt;br /&gt;&lt;br /&gt;select coalesce(@a, @b)&lt;br /&gt;&lt;br /&gt;--O/P 2010-04-13 17:21:12.330&lt;br /&gt;&lt;br /&gt;Eg.2declare @a varchar(5)&lt;br /&gt;&lt;br /&gt;declare @b varchar(8)&lt;br /&gt;&lt;br /&gt;SET @b = 'SQL SERVER'&lt;br /&gt;&lt;br /&gt;select coalesce(@a, @b)&lt;br /&gt;&lt;br /&gt;--O/P SQL SERV&lt;br /&gt;&lt;br /&gt;It tooks the datatype of the parameter which is not null.&lt;br /&gt;&lt;br /&gt;Eg.3&lt;br /&gt;&lt;br /&gt;declare @a varchar(5)&lt;br /&gt;&lt;br /&gt;declare @b varchar(8)&lt;br /&gt;&lt;br /&gt;declare @c int&lt;br /&gt;&lt;br /&gt;SET @c = 123456&lt;br /&gt;&lt;br /&gt;select coalesce(@a, @b, @c)&lt;br /&gt;&lt;br /&gt;--O/P 123456&lt;br /&gt;&lt;pre class="sql" name="code"&gt;&lt;br /&gt;DECLARE @a INT&lt;br /&gt;DECLARE @b DATETIME&lt;br /&gt;SET @a = 2&lt;br /&gt;SET @b = GETDATE()&lt;br /&gt;SELECT COALESCE (@a, @b)&lt;br /&gt;&lt;br /&gt;--O/P 1900-01-03 00:00:00.000&lt;br /&gt;&lt;br /&gt;if we set&lt;br /&gt;SET @a = 0&lt;br /&gt;--O/P 1900-01-01 00:00:00.000&lt;br /&gt;&lt;br /&gt;if we set, it increments month and date&lt;br /&gt;SET @a = 35&lt;br /&gt;--O/P 1900-02-05 00:00:00.000&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;                 &lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Reference: &lt;a href="http://sqlserver-qa.net/blogs/t-sql/archive/2007/10/04/2344.aspx"&gt;sqlserver-qa.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-1945631663408298855?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/1945631663408298855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=1945631663408298855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1945631663408298855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1945631663408298855'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/04/isnull-vs-coalesce.html' title='ISNULL() vs COALESCE()'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-7860572361768945283</id><published>2010-04-08T13:00:00.000+05:30</published><updated>2010-04-13T18:27:14.260+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Brute force protect your website</title><content type='html'>&lt;img alt = "" src = "http://www.drivehq.com/file/df.aspx/publish/rk.babu/Files/LogOn.jpg" height = "138" width = "312" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;    &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;        .table&lt;br /&gt;        {&lt;br /&gt;            background-image: url('Images/buttonbg.png');&lt;br /&gt;            background-repeat: repeat;&lt;br /&gt;        }&lt;br /&gt;        .buttonBg&lt;br /&gt;        {&lt;br /&gt;            background-color: Silver;&lt;br /&gt;            background-image: none;&lt;br /&gt;            border-style: solid;&lt;br /&gt;            border-width: 1;&lt;br /&gt;            border-color: #c63 #930 #930 #c63;&lt;br /&gt;        }&lt;br /&gt;        .textbox_username&lt;br /&gt;        {&lt;br /&gt;            background: #ffffff url('images/icon_username.png') no-repeat;&lt;br /&gt;            background-position: 1 1;&lt;br /&gt;            padding-left: 19px;&lt;br /&gt;            border: 1px solid #999999;&lt;br /&gt;            border-top-color: #CCCCCC;&lt;br /&gt;            border-left-color: #CCCCCC;&lt;br /&gt;            color: #333333;&lt;br /&gt;            font: 90% Verdana, Helvetica, Arial, sans-serif;&lt;br /&gt;            font-size: 12px;&lt;br /&gt;            height: 20px;&lt;br /&gt;        }&lt;br /&gt;        .textbox_password&lt;br /&gt;        {&lt;br /&gt;            background: #ffffff url('images/icon_password.png') no-repeat;&lt;br /&gt;            background-position: 1 1;&lt;br /&gt;            padding-left: 19px;&lt;br /&gt;            border: 1px solid #999999;&lt;br /&gt;            border-top-color: #CCCCCC;&lt;br /&gt;            border-left-color: #CCCCCC;&lt;br /&gt;            color: #333333;&lt;br /&gt;            font: 90% Verdana, Helvetica, Arial, sans-serif;&lt;br /&gt;            font-size: 12px;&lt;br /&gt;            height: 20px;&lt;br /&gt;        }&lt;br /&gt;        .button&lt;br /&gt;        {&lt;br /&gt;            border: 1px solid #999999;&lt;br /&gt;            border-top-color: #CCCCCC;&lt;br /&gt;            border-left-color: #CCCCCC;&lt;br /&gt;            background-color: white;&lt;br /&gt;            color: #333333;&lt;br /&gt;            font: 90% Verdana, Helvetica, Arial, sans-serif;&lt;br /&gt;            font-size: 11px;&lt;br /&gt;            -moz-border-radius: 3px;&lt;br /&gt;        }&lt;br /&gt;    &amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;div&amp;gt;&lt;br /&gt;        &amp;lt;table class=&amp;quot;table&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&lt;br /&gt;                &amp;lt;td colspan=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;asp:Label ID=&amp;quot;lblUserLogOn&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;User Log On&amp;quot; Style=&amp;quot;font-size: smaller;&lt;br /&gt;                        font-family: Verdana; font-weight: bolder;&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br /&gt;                &amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&lt;br /&gt;                &amp;lt;td rowspan=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;img src=&amp;quot;Images/Security.PNG&amp;quot; style=&amp;quot;width: 80px; height: 80px;&amp;quot; alt=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;                &amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&lt;br /&gt;                    &amp;lt;asp:Label ID=&amp;quot;lblUserName&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;User Name&amp;quot; Style=&amp;quot;font-size: x-small;&lt;br /&gt;                        font-family: Verdana; font-weight: bold;&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br /&gt;                &amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&lt;br /&gt;                    &amp;lt;asp:TextBox ID=&amp;quot;txtUserName&amp;quot; runat=&amp;quot;server&amp;quot; CssClass=&amp;quot;textbox_username&amp;quot; TabIndex = &amp;quot;1&amp;quot; &amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;                &amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&lt;br /&gt;                    &amp;lt;asp:Label ID=&amp;quot;lblPassword&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Password&amp;quot; Style=&amp;quot;font-size: x-small;&lt;br /&gt;                        font-family: Verdana; font-weight: bold;&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br /&gt;                &amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&lt;br /&gt;                    &amp;lt;asp:TextBox ID=&amp;quot;txtPassword&amp;quot; runat=&amp;quot;server&amp;quot; CssClass=&amp;quot;textbox_password&amp;quot; TabIndex = &amp;quot;2&amp;quot;&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;                &amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&lt;br /&gt;                &amp;lt;td colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align:right; padding-right:2px;&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;asp:Button ID=&amp;quot;btnLogOn&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;LogOn&amp;quot; CssClass=&amp;quot;buttonBg&amp;quot; &lt;br /&gt;                        TabIndex = &amp;quot;3&amp;quot; onclick=&amp;quot;btnLogOn_Click&amp;quot;/&amp;gt;&lt;br /&gt;                &amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&lt;br /&gt;            &amp;lt;td colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:right; padding-right:2px;&amp;quot;&amp;gt;&lt;br /&gt;                &amp;lt;asp:Label ID=&amp;quot;lblInvalid&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Incorrect username or password.&amp;quot; style=&amp;quot;color:#FF0000;&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br /&gt;            &amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;/tr&amp;gt;&lt;br /&gt;        &amp;lt;/table&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;    &lt;br /&gt;    &amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="csharp" name="code"&gt;public partial class SimpleLoginTemplate_LogOn : System.Web.UI.Page&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;        //ClearLogonCounter();&lt;br /&gt;&lt;br /&gt;        switch (btnLogOn.Enabled)&lt;br /&gt;        {&lt;br /&gt;            case false:&lt;br /&gt;                break;&lt;br /&gt;            case true:&lt;br /&gt;                btnLogOn.Enabled = NumberOfLogonAttemps() &lt;= 5 ? true : false;&lt;br /&gt;                break;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected void btnLogOn_Click(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;        AddOrCountLogonAttempt();&lt;br /&gt;&lt;br /&gt;        if (NumberOfLogonAttemps() &gt; 5)&lt;br /&gt;        {&lt;br /&gt;            if (!lblInvalid.Text.Trim().Equals("User has been locked for 5 minutes."))&lt;br /&gt;                //If the attempt is &gt; 5 Lock the user for 5 min&lt;br /&gt;                //After that the userName cleared from the cache&lt;br /&gt;                Cache.Insert(txtUserName.Text.Trim(), (int)Cache[txtUserName.Text.Trim()], null, DateTime.Now.AddMinutes(5), TimeSpan.Zero);&lt;br /&gt;&lt;br /&gt;            lblInvalid.Text = "User has been locked for 5 minutes.";&lt;br /&gt;            btnLogOn.Enabled = false;&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            btnLogOn.Enabled = true;&lt;br /&gt;            switch (LogOn())&lt;br /&gt;            {&lt;br /&gt;                //Clear the count if user logon correctly&lt;br /&gt;                case true:&lt;br /&gt;                    ClearLogonCounter();&lt;br /&gt;                    break;&lt;br /&gt;                case false:&lt;br /&gt;                    break;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private bool LogOn()&lt;br /&gt;    {&lt;br /&gt;        lblInvalid.Text = "Incorrect username or password.";&lt;br /&gt;        return false;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    #region "Brute force protect"&lt;br /&gt;    //http://madskristensen.net/post/Brute-force-protect-your-website.aspx&lt;br /&gt;    private int NumberOfLogonAttemps()&lt;br /&gt;    {&lt;br /&gt;        if (Cache[txtUserName.Text.Trim()] == null)&lt;br /&gt;           return 0;&lt;br /&gt;        //txtNoOfTries.Text = Convert.ToString( Cache[txtUserName.Text.Trim()]);&lt;br /&gt;        return (int)Cache[txtUserName.Text.Trim()];&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void ClearLogonCounter()&lt;br /&gt;    {&lt;br /&gt;        if (Cache[txtUserName.Text.Trim()] != null)&lt;br /&gt;        {&lt;br /&gt;            Cache.Remove(txtUserName.Text.Trim());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void AddOrCountLogonAttempt()&lt;br /&gt;    {&lt;br /&gt;        if (Cache[txtUserName.Text.Trim()] == null)&lt;br /&gt;        {&lt;br /&gt;            //NoAbsoluteExpiration -- item should never expire&lt;br /&gt;            // Sliding expiration means we reset the X seconds after each request.&lt;br /&gt;            //http://wiki.asp.net/page.aspx/655/caching-in-aspnet/&lt;br /&gt;&lt;br /&gt;            Cache.Insert(txtUserName.Text.Trim(), 1, null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(1));&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            int tries = (int)Cache[txtUserName.Text.Trim()];&lt;br /&gt;            Cache[txtUserName.Text.Trim()] = tries + 1;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    #endregion&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Reference:&lt;/b&gt;&lt;a href="http://madskristensen.net/post/Brute-force-protect-your-website.aspx"&gt;madskristensen.net&lt;/a&gt;&lt;br /&gt;All credits goes to him.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-7860572361768945283?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/7860572361768945283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=7860572361768945283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7860572361768945283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7860572361768945283'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/04/brute-force-protect-your-website.html' title='Brute force protect your website'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-120474467360212320</id><published>2010-03-23T17:23:00.000+05:30</published><updated>2010-03-26T16:40:58.203+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOPS'/><title type='text'>Struct</title><content type='html'>&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Within a struct declaration, fields cannot be initialized unless they are declared as const or static.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt; &lt;br /&gt;   //public int UserId = 10; //Error&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;A struct may not declare a default constructor (a constructor without parameters) or a destructor. Any private or otherwise inaccessible members can be initialized only in a constructor.&lt;br /&gt;&lt;li&gt;Copy a struct to struct.&lt;br /&gt;If you copy a struct, C# creates a new copy of the object and assigns the copy of the object to a separate struct instance.&lt;br /&gt;Structs are copied on assignment. When a struct is assigned to a new variable, all the data is copied, and any modification to the new copy does not change the data for the original copy. This is important to remember when working with collections of value types such as Dictionary&lt;string,&gt;.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt; &lt;br /&gt;            Student s1 = new Student();&lt;br /&gt;            Student s2;&lt;br /&gt;            s1 = s2;&lt;br /&gt;            Response.Write(s1.PUserId);&lt;br /&gt;            Response.Write(s2.PUserId);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Here all the values of s1 will be copied to s2.&lt;br /&gt;&lt;li&gt;Structs are value types and classes are reference types.&lt;br /&gt;&lt;li&gt;Unlike classes, structs can be instantiated without using a new operator.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt; &lt;br /&gt;            Student s1;&lt;br /&gt;            s1.Address = "Savadipalayam";&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Initialize the fields through properties.&lt;/strong&gt; Use of unassigned local variable 's1'. &lt;br /&gt;&lt;pre class="csharp" name="code"&gt; &lt;br /&gt;Student s1;&lt;br /&gt;Response.Write(s1.PUserId)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color:red"&gt;In fact, when instantiating a struct without the new keyword, we must first initialize its fields explicitly.&lt;/span&gt;&lt;br /&gt;&lt;pre class="csharp" name="code"&gt; &lt;br /&gt;Student s1;&lt;br /&gt;s1.PUserId = 10;&lt;br /&gt;Response.Write(s1.PUserId)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Structs can declare constructors that have parameters. But all the field variables should be fully initialzed.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt; &lt;br /&gt;        public Student(int UserId, int ZipCode, double Salary, string Address)&lt;br /&gt;        {&lt;br /&gt;            this.UserId = UserId;&lt;br /&gt;            this.ZipCode = ZipCode;&lt;br /&gt;            this.Salary = Salary;&lt;br /&gt;            //this.Address = Address;&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This will produce an error &lt;span style="color:red"&gt;Field 'StructTest.Student.Address' must be fully assigned before control is returned to the caller".&lt;/span&gt; Since Address is not initialized.&lt;br /&gt;&lt;li&gt;A struct cannot inherit from another struct or class, and it cannot be the base of a class. All structs inherit directly from System.ValueType, which inherits from System.Object.&lt;br /&gt;&lt;li&gt;A struct can implement interfaces, and it does that exactly as classes do.&lt;br /&gt;&lt;li&gt;Cannot convert null to 'StructTest.Student'&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;   Student s2 = null;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;DateTime is struct. We can't assign null to DateTime.&lt;br /&gt;&lt;span style="color:red"&gt;Cannot convert null to 'System.DateTime' because it is a non-nullable value type.&lt;/span&gt;&lt;br /&gt;eg.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;   DateTime dt = null;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;A struct can be used as a nullable type and can be assigned a null value.&lt;br /&gt;&lt;a href="http://www.csharp-station.com/Tutorials/Lesson23.aspx"&gt;Working with Nullable Types in struct.&lt;/a&gt;&lt;br /&gt;&lt;li&gt;If a field is not initialized whether it is a primitive data type it produce the error "Use of possibly unassigned field 'i'" when we didn’t create instance for the struct.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;            Student1 s3;&lt;br /&gt;            Response.Write(s3.i);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;When we create an instance for the struct but we don’t have any constructor to assing value, it will asign the default value for premitive datatype and for others it will assing null(null for string).&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;            public struct Student1&lt;br /&gt;            {&lt;br /&gt;                  public int i;&lt;br /&gt;                  public string j;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            Student1 s3 = new Student1();&lt;br /&gt;            Response.Write(s3.i); //O/P = 0&lt;br /&gt;            Response.Write(s3.j); //O/P = null&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;struct can also have copy constructor but have to be fully initialzed. &lt;br /&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;        public Student(Student stud)&lt;br /&gt;        {&lt;br /&gt;            this.UserId = stud.UserId;&lt;br /&gt;            this.ZipCode = stud.ZipCode;&lt;br /&gt;            this.Salary = stud.Salary;&lt;br /&gt;            &lt;br /&gt;            //Field 'StructTest.Student.Address' must be fully assigned before control is returned to the caller&lt;br /&gt;            //this.Address = stud.Address;&lt;br /&gt;&lt;br /&gt;            this.Address = stud.Address;&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Struct can contain methods. It may be static, and a static method can call only another static methods.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;        public void sub()&lt;br /&gt;        {&lt;br /&gt;            &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static string multiply()&lt;br /&gt;        {&lt;br /&gt;            return Send();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static string Send()&lt;br /&gt;        {&lt;br /&gt;            //An object reference is required for the non-static field, method, or property 'StructTest.Student.Address'&lt;br /&gt;            //Address = "Mottur Road";&lt;br /&gt;            //return Address;&lt;br /&gt;&lt;br /&gt;            Street = "Mottur Road";&lt;br /&gt;            return Street;&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;//The allowed modifiers are new, static, virtual, override, and a valid combination of the four access modifiers (public, internal and private). &lt;br /&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;  // Override the ToString method so the value appears in text&lt;br /&gt;  public override string ToString()&lt;br /&gt;  {&lt;br /&gt;    return String.Format("({0},{1})", Street, Address);&lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;Support access modifiers, constructors, indexers, methods, fields, nested types, operators, and properties.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;        public int PUserId&lt;br /&gt;        {&lt;br /&gt;            get { return UserId; }&lt;br /&gt;            set { UserId = value; }&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:red"&gt;Elements defined in a namespace cannot be explicitly declared as private, protected, or protected internal.&lt;/span&gt;. If we declare a struct inside a namespace with any of the access specifier as private, protected, or protected internal, we will get this error.&lt;br /&gt;So it is always public when we declare a struct inside a namespace.&lt;br /&gt;&lt;li&gt;Abstract and sealed modifiers are not permitted in a struct declaration since it is always implicitly sealed.&lt;br /&gt;Since it is implicitly sealed, struct members may not be declared protected.&lt;br /&gt;So we can't able to inherit another struct.&lt;br /&gt;Since it is not abstract, struct can't be a base to a class or another structure.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;    struct Student : IOne, ITwo&lt;br /&gt;    {&lt;br /&gt;        int UserId;&lt;br /&gt;        //public int UserId = 10;  //Within a struct declaration, fields cannot be initialized unless they are declared as const or static.&lt;br /&gt;&lt;br /&gt;        public static string Street = "Savadipalayam";&lt;br /&gt;&lt;br /&gt;        int ZipCode;&lt;br /&gt;        double Salary;&lt;br /&gt;        public string Address;&lt;br /&gt;&lt;br /&gt;        //Structs cannot contain explicit parameterless constructors(Default constructor)&lt;br /&gt;       /* public Student()&lt;br /&gt;        {&lt;br /&gt;            this.UserId = 10;&lt;br /&gt;            this.ZipCode = 637101;&lt;br /&gt;            this.Salary = 2000;&lt;br /&gt;            this.Address = "Idappadi";&lt;br /&gt;        }&lt;br /&gt;        */&lt;br /&gt;&lt;br /&gt;        // all the members of the struct has to be initialized in this way&lt;br /&gt;        public Student(int UserId, int ZipCode, double Salary, string Address)&lt;br /&gt;        {&lt;br /&gt;            this.UserId = UserId;&lt;br /&gt;            this.ZipCode = ZipCode;&lt;br /&gt;            this.Salary = Salary;&lt;br /&gt;            this.Address = Address;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        // struct can also have copy constructor but have to be fully initialzed&lt;br /&gt;        public Student(Student stud)&lt;br /&gt;        {&lt;br /&gt;            this.UserId = stud.UserId;&lt;br /&gt;            this.ZipCode = stud.ZipCode;&lt;br /&gt;            this.Salary = stud.Salary;&lt;br /&gt;           &lt;br /&gt;            //Field 'StructTest.Student.Address' must be fully assigned before control is returned to the caller&lt;br /&gt;            //this.Address = stud.Address;&lt;br /&gt;&lt;br /&gt;            this.Address = stud.Address;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public int PUserId&lt;br /&gt;        {&lt;br /&gt;            get { return UserId; }&lt;br /&gt;            set { UserId = value; }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        //new protected member declared in struct&lt;br /&gt;        //protected void add()&lt;br /&gt;        //{&lt;br /&gt;        //}&lt;br /&gt;&lt;br /&gt;        //Struct can contain methods. It may be static, and can call only another static methods.&lt;br /&gt;        public void sub()&lt;br /&gt;        {&lt;br /&gt;           &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static string multiply()&lt;br /&gt;        {&lt;br /&gt;            return Send();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static string Send()&lt;br /&gt;        {&lt;br /&gt;            //An object reference is required for the non-static field, method, or property 'StructTest.Student.Address'&lt;br /&gt;            //Address = "Mottur Road";&lt;br /&gt;            //return Address;&lt;br /&gt;&lt;br /&gt;            Street = "Mottur Road";&lt;br /&gt;            return Street;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        //The modifier 'abstract' is not valid for this item&lt;br /&gt;        //public abstract void Return() { }&lt;br /&gt;&lt;br /&gt;        #region ITwo Members&lt;br /&gt;&lt;br /&gt;        void ITwo.add()&lt;br /&gt;        {&lt;br /&gt;            throw new System.NotImplementedException();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public void sum()&lt;br /&gt;        {&lt;br /&gt;            throw new System.NotImplementedException();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        #endregion&lt;br /&gt;&lt;br /&gt;        #region IOne Members&lt;br /&gt;&lt;br /&gt;        void IOne.add()&lt;br /&gt;        {&lt;br /&gt;            throw new System.NotImplementedException();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        void IOne.sum()&lt;br /&gt;        {&lt;br /&gt;            throw new System.NotImplementedException();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        #endregion&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;      //Nested Structures&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public struct outer&lt;br /&gt;    {&lt;br /&gt;        public int i;&lt;br /&gt;        public struct inner&lt;br /&gt;        {&lt;br /&gt;            public int j;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;How to call?.&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;&lt;br /&gt;outer.inner inn = new outer.inner();&lt;br /&gt;inn.j = 10;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;br /&gt;&lt;a href = "http://www.programmersheaven.com/2/Les_CSharp_6_p2"&gt;C# School&lt;/a&gt;&lt;br /&gt;&lt;a href = "http://www.vijaymukhi.com/documents/books/csbasics/chap11.htm"&gt;vijaymukhi&lt;/a&gt;&lt;br /&gt;&lt;a href = "http://en.csharp-online.net/struct"&gt;C# Online.net&lt;/a&gt;&lt;br /&gt;&lt;a href = "http://www.codeproject.com/KB/cs/structs_in_csharp.aspx"&gt;codeproject&lt;/a&gt;&lt;br /&gt;&lt;a href = "http://www.csharp-station.com/Tutorials/Lesson12.aspx"&gt;csharp-station&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-120474467360212320?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/120474467360212320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=120474467360212320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/120474467360212320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/120474467360212320'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/03/struct.html' title='Struct'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-3940353256897226746</id><published>2010-03-23T14:51:00.000+05:30</published><updated>2010-04-20T17:12:50.416+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><title type='text'>Can't access App_Code class in Code Behind file</title><content type='html'>I had created a struct in file in the App_Code. But I can't able to access the namespace.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt; &lt;br /&gt;namespace StructTest&lt;br /&gt;{&lt;br /&gt;    public struct Student&lt;br /&gt;    {&lt;br /&gt;        int id;&lt;br /&gt;        int zipcode;&lt;br /&gt;        double salary;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;br /&gt;Right click on the file and select properties then change the &lt;strong&gt;Build Action to Compile.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-3940353256897226746?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/3940353256897226746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=3940353256897226746' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3940353256897226746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3940353256897226746'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/03/cant-access-appcode-class-in-code.html' title='Can&apos;t access App_Code class in Code Behind file'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-4412216231098333234</id><published>2010-03-19T16:38:00.001+05:30</published><updated>2010-05-22T19:00:49.060+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Generate Select and Update Procedure</title><content type='html'>&lt;strong&gt;Generates Select Procedure&lt;/strong&gt;&lt;br /&gt;Use the this link &lt;a href = "http://asp-tech.blogspot.com/2009/12/create-parameters.html"&gt;create-parameters&lt;/a&gt; to create paramaters for this.&lt;br /&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;declare @ProcName varchar(250)&lt;br /&gt;declare @SchemaName varchar(250)&lt;br /&gt;DECLARE @NewLineChar AS CHAR(2)&lt;br /&gt;DECLARE @HorizontalTabChar AS CHAR(1)&lt;br /&gt;DECLARE @VerticalTabChar AS CHAR(1)&lt;br /&gt;DECLARE @ColNames AS varchar(8000)&lt;br /&gt;DECLARE @TableName AS varchar(200)&lt;br /&gt;&lt;br /&gt;SET @ProcName = 'Getcompany'&lt;br /&gt;SET @SchemaName = 'dbo'&lt;br /&gt;SET @NewLineChar =  CHAR(13) + CHAR(10)&lt;br /&gt;SET @HorizontalTabChar = CHAR(9)&lt;br /&gt;set @VerticalTabChar = CHAR(11)&lt;br /&gt;SET @ColNames = REPLICATE(@HorizontalTabChar, 3)&lt;br /&gt;SET @TableName = 'company'&lt;br /&gt;&lt;br /&gt;SELECT&lt;br /&gt;@ColNames = @ColNames + syscolumns.name + ',' + @NewLineChar + REPLICATE(@HorizontalTabChar, 3)&lt;br /&gt;FROM sysobjects&lt;br /&gt;JOIN syscolumns ON sysobjects.id = syscolumns.id&lt;br /&gt;where sysobjects.ID = OBJECT_ID(@TableName)&lt;br /&gt;&lt;br /&gt;SET @ColNames = Left(@ColNames, Len(@ColNames)-6)&lt;br /&gt;&lt;br /&gt;PRINT 'if exists (select * from dbo.sysobjects where id = object_id(N''[' +@SchemaName+ '].[' + @ProcName +']'') and OBJECTPROPERTY(id, N''IsProcedure'') = 1)'&lt;br /&gt;+ @NewLineChar + 'BEGIN'&lt;br /&gt;+ @NewLineChar + @HorizontalTabChar + 'DROP PROCEDURE [' +@SchemaName+ '].[' + @ProcName +'] '&lt;br /&gt;+ @NewLineChar + 'END'&lt;br /&gt;+ @NewLineChar + 'GO'&lt;br /&gt;+ @NewLineChar&lt;br /&gt;+ @NewLineChar + 'CREATE PROCEDURE [' +@SchemaName+ '].[' + @ProcName +']'&lt;br /&gt;+ @NewLineChar + 'AS'&lt;br /&gt;+ @NewLineChar + @HorizontalTabChar + ' BEGIN'&lt;br /&gt;+ @NewLineChar + REPLICATE(@HorizontalTabChar, 2) + ' SELECT'&lt;br /&gt;+ @NewLineChar + @ColNames&lt;br /&gt;+ @NewLineChar + REPLICATE(@HorizontalTabChar, 2)+  'FROM ' + @TableName&lt;br /&gt;+ @NewLineChar + @HorizontalTabChar + ' END'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;Generates Update Procedure&lt;/strong&gt;&lt;br /&gt;To pass parameters to the Update Procedure use the link to generate Parameters.&lt;br /&gt;&lt;a href="http://asp-tech.blogspot.com/2009/12/create-parameters.html"&gt;Generate Parameters&lt;/a&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;DECLARE @ProcName             VARCHAR(250)&lt;br /&gt;DECLARE @SchemaName           VARCHAR(250)&lt;br /&gt;DECLARE @NewLineChar AS       CHAR(2)&lt;br /&gt;DECLARE @HorizontalTabChar AS CHAR(1)&lt;br /&gt;DECLARE @VerticalTabChar AS   CHAR(1)&lt;br /&gt;DECLARE @ColNames AS          VARCHAR(8000)&lt;br /&gt;DECLARE @TableName AS         VARCHAR(200)&lt;br /&gt;&lt;br /&gt;SET @ProcName          = 'zxcvbnm'&lt;br /&gt;SET @SchemaName        = 'dbo'&lt;br /&gt;SET @NewLineChar       = CHAR(13) + CHAR(10)&lt;br /&gt;SET @HorizontalTabChar = CHAR(9)&lt;br /&gt;SET @VerticalTabChar   = CHAR(11)&lt;br /&gt;SET @ColNames          = REPLICATE(@HorizontalTabChar, 3)&lt;br /&gt;SET @TableName   = 'company'&lt;br /&gt;&lt;br /&gt;SELECT @ColNames       = @ColNames + syscolumns.name + ' = @' + syscolumns.name + ',' + @NewLineChar + REPLICATE(@HorizontalTabChar, 3)&lt;br /&gt;FROM   sysobjects&lt;br /&gt;JOIN syscolumns&lt;br /&gt;ON     sysobjects.id = syscolumns.id&lt;br /&gt;WHERE  sysobjects.ID        = OBJECT_ID(@TableName)&lt;br /&gt;&lt;br /&gt;SET @ColNames = LEFT(@ColNames, LEN(@ColNames)-6)&lt;br /&gt;&lt;br /&gt;PRINT 'if exists (select * from dbo.sysobjects where id = object_id(N''[' +@SchemaName+ '].[' + @ProcName +']'') and OBJECTPROPERTY(id, N''IsProcedure'') = 1)'&lt;br /&gt;+ @NewLineChar + 'BEGIN'&lt;br /&gt;+ @NewLineChar + @HorizontalTabChar + 'DROP PROCEDURE [' +@SchemaName+ '].[' + @ProcName +'] '&lt;br /&gt;+ @NewLineChar + 'END'&lt;br /&gt;+ @NewLineChar + 'GO'&lt;br /&gt;+ @NewLineChar&lt;br /&gt;+ @NewLineChar + 'CREATE PROCEDURE [' +@SchemaName+ '].[' + @ProcName +']'&lt;br /&gt;+ @NewLineChar + 'AS'&lt;br /&gt;+ @NewLineChar + @HorizontalTabChar + ' BEGIN'&lt;br /&gt;+ @NewLineChar + REPLICATE(@HorizontalTabChar, 2) + ' UPDATE ' + @TableName&lt;br /&gt;+ @NewLineChar + REPLICATE(@HorizontalTabChar, 3) + 'SET'&lt;br /&gt;+ @NewLineChar + @ColNames&lt;br /&gt;+ @NewLineChar + @HorizontalTabChar + ' END'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-4412216231098333234?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/4412216231098333234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=4412216231098333234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/4412216231098333234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/4412216231098333234'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/03/generate-select-and-update-procedure.html' title='Generate Select and Update Procedure'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-7093725399680260050</id><published>2010-03-18T17:01:00.002+05:30</published><updated>2010-09-10T17:30:06.328+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Where column alows null</title><content type='html'>&lt;pre class="sql" name="code"&gt;DECLARE @Test TABLE (ID INT  IDENTITY (1,1),  &lt;br /&gt;Name VARCHAR(250) NOT NULL, Street VARCHAR(250) NULL)&lt;br /&gt;&lt;br /&gt;INSERT INTO @Test&lt;br /&gt;SELECT 'Ashok', NULL UNION ALL&lt;br /&gt;SELECT 'Guru', NULL UNION ALL&lt;br /&gt;SELECT 'Babu', 'Idappadi' UNION ALL&lt;br /&gt;SELECT 'Gopi', NULL UNION ALL&lt;br /&gt;SELECT 'Balaji', NULL UNION ALL&lt;br /&gt;SELECT 'Senthil', NULL UNION ALL&lt;br /&gt;SELECT 'Saravanan', NULL UNION ALL&lt;br /&gt;SELECT 'Suresh', NULL&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I want to get the records whose street not equal to 'Idappadi'&lt;br /&gt;&lt;br /&gt;The query given below returns nothing.&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SELECT Name, Street FROM @Test&lt;br /&gt;WHERE Street != 'Idappadi'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Then I modified as below which returns correct result.&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SELECT Name, Street FROM @Test&lt;br /&gt;WHERE ISNULL(Street, '') != 'Idappadi'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-7093725399680260050?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/7093725399680260050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=7093725399680260050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7093725399680260050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7093725399680260050'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/03/where-column-alows-null.html' title='Where column alows null'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-2404324131540670995</id><published>2010-03-13T18:19:00.001+05:30</published><updated>2010-07-30T12:53:10.996+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Get the Last charindex of a char in a string</title><content type='html'>&lt;pre class="sql" name="code"&gt;DECLARE @TempTable TABLE (NewPK INT identity(1,1), Customer VARCHAR(100) NOT NULL)&lt;br /&gt;DECLARE @SearchChars VARCHAR(10)&lt;br /&gt;&lt;br /&gt;SET @SearchChars = '-'&lt;br /&gt;&lt;br /&gt;INSERT&lt;br /&gt;INTO  @TempTable (Customer)&lt;br /&gt;SELECT 'BabuKumarasamy-100313-0001' UNION ALL&lt;br /&gt;SELECT 'BabuKumarasamy-1003313-00110' UNION ALL&lt;br /&gt;SELECT 'KrishnaMoorthi-Konganapuram-0020' UNION ALL&lt;br /&gt;SELECT 'Saravanan-100313-0006' UNION ALL&lt;br /&gt;SELECT 'Sankar-100313-0001'&lt;br /&gt;&lt;br /&gt;SELECT (LEN(Customer) - CHARINDEX(@SearchChars, reverse(Customer))) AS LastIndex,&lt;br /&gt;       SUBSTRING (Customer, 0, (LEN(Customer) - CHARINDEX(@SearchChars, reverse(Customer))) + 1) AS StringBeforeTheIndex,&lt;br /&gt;       SUBSTRING (Customer,(LEN(Customer)- CHARINDEX(@SearchChars, reverse(Customer))) + 2, LEN(Customer) - (LEN(Customer) - CHARINDEX(@SearchChars, reverse(Customer)))) AS StringAfterTheIndex&lt;br /&gt;FROM   @TempTable&lt;br /&gt;WHERE  Customer LIKE 'BabuKumarasamy%'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-2404324131540670995?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/2404324131540670995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=2404324131540670995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2404324131540670995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2404324131540670995'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/03/get-charindex-of-string.html' title='Get the Last charindex of a char in a string'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-3422548156632776673</id><published>2010-03-01T18:54:00.000+05:30</published><updated>2010-03-19T17:25:32.250+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>null-coalescing operator</title><content type='html'>The ?? operator is called the null-coalescing operator and is used to define a default value for a nullable value types as well as reference types. It returns the left-hand operand if it is not null; otherwise it returns the right operand. &lt;br /&gt;&lt;br /&gt;If you try to assign a nullable value type to a non-nullable value type without using the ?? operator, you will generate a compile-time error. If you use a cast, and the nullable value type is currently undefined, an InvalidOperationException exception will be thrown. &lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="csharp"&gt;  &lt;br /&gt;string partner = Request.QueryString["GoogleId"] ??&lt;br /&gt;&lt;br /&gt;    Request.QueryString["PartnerId"] ??&lt;br /&gt;&lt;br /&gt;    Request.QueryString["UserKey"] ??&lt;br /&gt;&lt;br /&gt;    string.Empty;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-3422548156632776673?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/3422548156632776673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=3422548156632776673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3422548156632776673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3422548156632776673'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/03/null-coalescing-operator.html' title='null-coalescing operator'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-6835445320069525923</id><published>2010-02-19T16:55:00.000+05:30</published><updated>2010-03-19T17:25:48.861+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Copy a ListBox Items to Another ListBox</title><content type='html'>private void CopyAListItemToAnotherListItem()&lt;br /&gt;    {&lt;br /&gt;        ArrayList al = new ArrayList();&lt;br /&gt;        for (int i = 97; i &lt; 105; i++)&lt;br /&gt;        {&lt;br /&gt;            al.Add(Convert.ToChar(i));&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        ListBox1.DataSource = al;&lt;br /&gt;        ListBox1.DataBind();&lt;br /&gt;&lt;br /&gt;        ListBox2.Items.AddRange(ListBox1.Items.Cast&lt;ListItem&gt;().ToArray());&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-6835445320069525923?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/6835445320069525923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=6835445320069525923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6835445320069525923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6835445320069525923'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/02/copy-listbox-items-to-another-listbox.html' title='Copy a ListBox Items to Another ListBox'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-7017405761157923803</id><published>2010-02-09T12:17:00.000+05:30</published><updated>2011-09-22T12:57:12.932+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOPS'/><title type='text'>The third pillar of object-oriented programming - polymorphism</title><content type='html'>&lt;a href ="http://www.c-sharpcorner.com/UploadFile/Ashush/OOPPolymorphism05292008151218PM/OOPPolymorphism.aspx"&gt;The third pillar of object-oriented programming - polymorphism&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-7017405761157923803?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/7017405761157923803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=7017405761157923803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7017405761157923803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7017405761157923803'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/02/third-pillar-of-object-oriented.html' title='The third pillar of object-oriented programming - polymorphism'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-5756187204264762020</id><published>2010-01-11T08:48:00.000+05:30</published><updated>2010-04-21T14:16:17.821+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOPS'/><title type='text'>Static</title><content type='html'>Static variables are called Class Fields&lt;br /&gt;Static methods are called Class Members&lt;br /&gt;Not static fields are called instance fields or members&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What are the things that we can declare as static?&lt;/strong&gt;&lt;br /&gt;1.data fields&lt;br /&gt;2.member functions&lt;br /&gt;3.properties&lt;br /&gt;4.events &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CLASS&lt;/span&gt;&lt;br /&gt;A C# class can contain both static and non-static members. When we declare a member with the help of the keyword static, it becomes a static member. &lt;br /&gt;&lt;br /&gt;A static member belongs to the class rather than to the objects of the class. Hence static members are also known as class members and non-static members are known as instance members.&lt;br /&gt;&lt;br /&gt;In C#, data fields, member functions, properties and events can be declared either as static or non-static. Remember that indexers in C# can't declare as static.&lt;br /&gt;&lt;br /&gt;Static classes cannot be instantiated. (I.e. creating an object). If we try to create an object we will get the error, Cannot create an instance of the abstract class or interface 'StaticClassName'&lt;br /&gt;&lt;br /&gt;When a class is declared to as static, it is sealed, abstract, and no instance members can be overridden or declared. A static class contains only static members&lt;br /&gt;&lt;br /&gt;Since static classes are sealed so they cannot be inherited.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Advantage&lt;/b&gt;&lt;br /&gt;No need to create instance.&lt;br /&gt;&lt;b&gt;When to use static class?&lt;/b&gt;&lt;br /&gt;Suppose we are using certain methods or properties often we can just call them without creating instance.&lt;br /&gt;It contains only the last updated value. The updated value reflects to all the users.&lt;br /&gt;Static classes can be used when there is no data or behavior in the class that depends on object identity.&lt;br /&gt;&lt;br /&gt;static class A&lt;br /&gt;{&lt;br /&gt;static void Foo()&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;A x = null as A; // Cannot declare a variable of static type 'A'&lt;br /&gt;A a;         // Cannot declare a variable of static type 'A'&lt;br /&gt;a = new A(); // Cannot create an instance of the static class 'A'&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Static Fields&lt;/span&gt;&lt;br /&gt;Static fields can be declared as follows by using the keyword static.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;class MyClass&lt;br /&gt;{&lt;br /&gt;public static int x;&lt;br /&gt;public static int y = 20;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;When we declare a static field inside a class, it can be initialized with a value as shown above.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The static field for a class executes at most once in a given application domain (i.e. when we keep the breakpoint both at a static and non static field and when we refresh the page, the non static field executes but static field didn't). But the value can be changed later in the constructor or anywhere. The last updated value will be maintained there after.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;All un-initialized static fields automatically get initialized to their default values when the class is loaded first time.&lt;br /&gt;&lt;br /&gt;The C# provides a special type of constructor known as static constructor to initialize the static data members when the class is loaded at first.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;// C# static constructor&lt;br /&gt;// Author: rajeshvs@msn.com&lt;br /&gt;using System;&lt;br /&gt;class MyClass&lt;br /&gt;{&lt;br /&gt;public static int x;&lt;br /&gt;public static int y;&lt;br /&gt;static MyClass()&lt;br /&gt;{&lt;br /&gt;x = 100;&lt;br /&gt;Y = 200;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;class MyClient&lt;br /&gt;{&lt;br /&gt;public static void Main()&lt;br /&gt;{&lt;br /&gt;Console.WriteLine("{0},{1},{2}", MyClass.x, MyClass.y);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;Constructor:&lt;/span&gt;&lt;br /&gt;Note that static constructor is called when the class is loaded at the first time. However, we can't predict the exact time and order of static constructor execution. &lt;br /&gt;&lt;br /&gt;They are called before an instance of the class is created, before a static member is called and before the static constructor of the derived class is called.&lt;br /&gt;&lt;br /&gt;Static class can't have instance constructor. (Since we can’t able to instantiate a static class)&lt;br /&gt;&lt;br /&gt;A static constructor must be parameter less. (That means there is only one form of static constructor, without any parameters. In other way it is not possible to overload a static constructor).&lt;br /&gt;&lt;br /&gt;There is no access modifier require defining a static constructor.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The static constructor for a class executes at most once in a given application domain (i.e. Static constructors are used to perform a particular action that needs performed once only.) The execution of a static constructor is triggered by the first of the following events to occur within an application domain:&lt;br /&gt;&lt;br /&gt;1. An instance of the class is created. &lt;br /&gt;2. Any of the static members of the class are referenced. &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Static constructor called before the class is referenced for the first time in your program.&lt;br /&gt;It contains only static variables.&lt;br /&gt;&lt;br /&gt;Static constructors can't access non-static data members directly.&lt;br /&gt;&lt;br /&gt;(A non-static class can have static constructor. When creating instance the static constructor will be called first. Here also the constructor will be called only once till we restart web server.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Member Functions&lt;/span&gt;&lt;br /&gt;Only static members are allowed inside a static class. (I.e. if a class is declared as static all the fields, members should be static.)&lt;br /&gt;&lt;br /&gt;We can invoke a static member only through the name of the class.&lt;br /&gt;&lt;br /&gt;But a static member function can access only other static members. (I.e. if a member is declared as static all the fields should be static and the method that we are calling from (the caller method) should be static.)&lt;br /&gt;We can’t able to declare a variable as static inside a static method.&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;An object reference is required for the non-static field, method, or property.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;public class foo&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;int x;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;static void doSomthingWithX()&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;Console.Write(x.toString);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;Member modifier 'static' must precede the member type and name&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;void static doSomthingWithX()&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;Static classes cannot have instance constructors&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Cannot declare instance members in a static class&lt;br /&gt;&lt;br /&gt;public static partial class StaticClassTest&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;//Static classes cannot have instance constructors&lt;br /&gt;StaticClassTest()&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//cannot declare instance members in a static class&lt;br /&gt;int j = 10;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;static int i = 10;&lt;br /&gt;&lt;br /&gt;public static int ClassMethod()&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;//The modifier 'static' is not valid for this item&lt;br /&gt;//static int k = 10;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;int k = 10;&lt;br /&gt;return i;&lt;br /&gt;&lt;br /&gt;return i;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;//'InstanceMethod': cannot declare instance members in a static class&lt;br /&gt;public int InstanceMethod()&lt;br /&gt;{&lt;br /&gt;return 8;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt;The modifier 'static' is not valid for this item&lt;/span&gt;&lt;br /&gt;        private static void StaticTest()&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color:red;"&gt;static int i;&lt;br /&gt;            i =10;&lt;/span&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution&lt;/b&gt;&lt;br /&gt;Whatever we declare inside static method, it is &lt;b&gt;static by default.&lt;/b&gt;. So no need to declare a variable as static in static method.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Static Properties&lt;/span&gt;&lt;br /&gt;The properties also can be declared as static. The static properties are accessing using the class name. All the rules applicable to a static member are applicable to static properties.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;public class PropertyClass&lt;br /&gt;{&lt;br /&gt;private static int x;&lt;br /&gt;public static int X&lt;br /&gt;{&lt;br /&gt;get&lt;br /&gt;{&lt;br /&gt;return x;&lt;br /&gt;}&lt;br /&gt;set&lt;br /&gt;{&lt;br /&gt;x = value;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;PropertyClass.X = 10; // calls setter&lt;br /&gt;int value = PropertyClass.X; // calls getter&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Remember that set/get accessor of static property can access only other static members of the class. Also static properties are invoking by using the class name.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Static Members &amp;amp; Inheritance&lt;/span&gt;&lt;br /&gt;A derived class can inherit a static member.&lt;br /&gt;&lt;br /&gt;But a static member in C# can't be marked as override, virtual or abstract. &lt;br /&gt;&lt;br /&gt;However it is possible to hide a base class static method in a derived class by using the keyword new.&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;public class BaseClassTest&lt;br /&gt;{&lt;br /&gt;public static int i = 10;&lt;br /&gt;public static int get()&lt;br /&gt;{&lt;br /&gt;return i;&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;public class ChildClassTest : BaseClassTest&lt;br /&gt;{&lt;br /&gt;public static int j;&lt;br /&gt;&lt;span style="color:red;"&gt;&lt;br /&gt;//ChildClassTest()&lt;br /&gt;//{&lt;br /&gt;//    //cannot be accessed with an instance reference; qualify it with a type name instead&lt;br /&gt;//    j = base.i;&lt;br /&gt;//}&lt;br /&gt;&lt;br /&gt;//static ChildClassTest()&lt;br /&gt;//{&lt;br /&gt;//    //Keyword 'base' is not available in a static method&lt;br /&gt;//    j = base.i;&lt;br /&gt;//}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;class Final : ChildClassTest&lt;br /&gt;{&lt;br /&gt;int p = ChildClassTest.i;&lt;br /&gt;int o = ChildClassTest.get();&lt;br /&gt;int r = ChildClassTest.j;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class tester&lt;br /&gt;{&lt;br /&gt;int p = Final.i;&lt;br /&gt;int o = Final.get();&lt;br /&gt;int r = Final.j;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Finally remember that it is not possible to use this to reference static methods.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Static Indexers&lt;/span&gt;&lt;br /&gt;In C# there is no concept of static indexers, even though static properties are there.&lt;br /&gt;http://www.c-sharpcorner.com/UploadFile/rajeshvs/PropertiesInCS11122005001040AM/PropertiesInCS.aspx&lt;br /&gt;&lt;br /&gt;http://www.csharphelp.com/2006/04/c-static-members/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-5756187204264762020?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/5756187204264762020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=5756187204264762020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5756187204264762020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5756187204264762020'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2010/01/static.html' title='Static'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-4556657906049509384</id><published>2009-12-07T11:44:00.000+05:30</published><updated>2011-10-12T12:53:51.697+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)</title><content type='html'>The current identity value is set to the new_reseed_value. If no rows have been inserted to the table since it was created, the first row inserted after executing DBCC CHECKIDENT will use new_reseed_value as the identity. Otherwise, the next row inserted will use new_reseed_value + 1. If the value of new_reseed_value is less than the maximum value in the identity column, error message 2627 will be generated on subsequent references to the table.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;1. Consider our table having some row. Now we are deleting the table with query&lt;/span&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;&lt;br /&gt;DELETE FROM table_name&lt;br /&gt;&lt;br /&gt;DBCC CHECKIDENT ('table_name', RESEED, 0)&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;The table will generate an identity value form 1 and not from 0.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;2. Now we are truncating the table with TRUNCATE TABLE Statement.&lt;/span&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;&lt;br /&gt;TRUNCATE TABLE table_name&lt;br /&gt;&lt;br /&gt;DBCC CHECKIDENT ('table_name', RESEED, 0)&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;The table will generate an identity value form 0.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;During INSERT if there is an error, the row will not Inserted but the Identity value increased according to(IDENT_INCR) the Increment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-4556657906049509384?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/4556657906049509384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=4556657906049509384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/4556657906049509384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/4556657906049509384'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/12/dbcc-checkident-tablename-reseed.html' title='DBCC CHECKIDENT (&apos;table_name&apos;, RESEED, new_reseed_value)'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-8411438123252572527</id><published>2009-12-02T15:31:00.000+05:30</published><updated>2009-12-02T15:33:52.817+05:30</updated><title type='text'>Methods to find table INDEX or Statistics age for better performance</title><content type='html'>&lt;a href = "http://sqlserver-qa.net/blogs/perftune/archive/2008/01/09/3025.aspx"&gt;&lt;span style="font-weight:bold;"&gt;Original Post&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="sql"&gt; &lt;br /&gt;SELECT OBJECT_NAME(tbl.object_id),&lt;br /&gt;       'Index Name'      = ind.name   ,&lt;br /&gt;       'Statistics Date' = STATS_DATE(ind.object_id, ind.index_id)&lt;br /&gt;FROM   SYS.INDEXES ind&lt;br /&gt;       INNER JOIN SYS.TABLES tbl&lt;br /&gt;       ON     tbl.OBJECT_ID = ind.object_id&lt;br /&gt;WHERE  tbl.TYPE             = 'U'          &lt;br /&gt;            &lt;br /&gt;--USE babu;&lt;br /&gt;--GO&lt;br /&gt;--EXEC sp_updatestats --To update all STATISTICS in the DB&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-8411438123252572527?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/8411438123252572527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=8411438123252572527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8411438123252572527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8411438123252572527'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/12/methods-to-find-table-index-or.html' title='Methods to find table INDEX or Statistics age for better performance'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-938572417590908709</id><published>2009-12-02T14:25:00.006+05:30</published><updated>2010-05-24T17:36:28.294+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Create Parameters</title><content type='html'>&lt;pre class="sql" name="code"&gt;DECLARE @TABLE_NAME VARCHAR(50) = 'PrameterTable'&lt;br /&gt;DECLARE @TableName AS         VARCHAR(200)&lt;br /&gt;DECLARE @ParamNames AS        VARCHAR(8000)&lt;br /&gt;SET @TableName = 'TableTest'&lt;br /&gt;SELECT @ParamNames = (COALESCE(@ParamNames + CHAR(13) + CHAR(10), '') +&lt;br /&gt;       CASE&lt;br /&gt;              WHEN DATA_TYPE = 'bigint'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'binary'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(character_maximum_length AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'Bit'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'Char'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(character_maximum_length AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'Date'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'DateTime'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'DateTime2'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'DateTimeOffset'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'Decimal'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(NUMERIC_precision AS VARCHAR) + ',' + CAST(numeric_scale AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'float'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(NUMERIC_precision AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'geography'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'geometry'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'hierarchyid'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'image'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'int'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE --+ '(' + CAST(NUMERIC_precision AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'money'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE --+ '(' + CAST(NUMERIC_precision AS VARCHAR) + ',' + CAST(numeric_scale AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'NCHAR'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(character_maximum_length AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'numeric'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(NUMERIC_precision AS VARCHAR) + ',' + CAST(numeric_scale AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'NVARCHAR'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(character_maximum_length AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'ntext'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE --+ '(' + CAST(character_maximum_length AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'REAL'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE --+ '(' + CAST(NUMERIC_precision AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'smalldatetime'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'smallint'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE --+ '(' + CAST(NUMERIC_precision AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'smallmoney'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE --+ '(' + CAST(NUMERIC_precision AS VARCHAR) + ',' + CAST(numeric_scale AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'sql_variant'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'text'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(character_maximum_length AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'time'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'timestamp'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'tinyint'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(NUMERIC_precision AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'uniqueidentifier'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;              WHEN DATA_TYPE = 'varbinary'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(character_maximum_length AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'varchar'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE + '(' + CAST(character_maximum_length AS VARCHAR) + ')'&lt;br /&gt;              WHEN DATA_TYPE = 'xml'&lt;br /&gt;              THEN '@' + COLUMN_NAME + ' ' + DATA_TYPE&lt;br /&gt;       END )           + ','&lt;br /&gt;FROM   INFORMATION_SCHEMA.Columns&lt;br /&gt;WHERE  TABLE_NAME = @TableName&lt;br /&gt;&lt;br /&gt;SET @ParamNames = LEFT(@ParamNames, LEN(@ParamNames)-1)&lt;br /&gt;PRINT @ParamNames&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Re Written Query&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;DECLARE @TABLE_NAME VARCHAR(50) = 'ContractMaster',&lt;br /&gt;@DATA_TYPE  VARCHAR(50) = 'numeric'&lt;br /&gt;&lt;br /&gt;SELECT paremeters       = ('@' + column_name + ' ' +&lt;br /&gt;CASE&lt;br /&gt;WHEN data_type   = 'BIGINT'&lt;br /&gt;OR     data_type = 'Bit'&lt;br /&gt;OR     data_type = 'Date'&lt;br /&gt;OR     data_type = 'DateTime'&lt;br /&gt;OR     data_type = 'DateTime2'&lt;br /&gt;OR     data_type = 'DateTimeOffset'&lt;br /&gt;OR     data_type = 'geography'&lt;br /&gt;OR     data_type = 'geometry'&lt;br /&gt;OR     data_type = 'hierarchyid'&lt;br /&gt;OR     data_type = 'image'&lt;br /&gt;OR     data_type = 'smalldatetime'&lt;br /&gt;OR     data_type = 'sql_variant'&lt;br /&gt;OR     data_type = 'time'&lt;br /&gt;OR     data_type = 'timestamp'&lt;br /&gt;OR     data_type = 'uniqueidentifier'&lt;br /&gt;OR     data_type = 'xml'&lt;br /&gt;THEN data_type&lt;br /&gt;WHEN data_type   = 'binary'&lt;br /&gt;OR     data_type = 'Char'&lt;br /&gt;OR     data_type = 'NCHAR'&lt;br /&gt;OR     data_type = 'NVARCHAR'&lt;br /&gt;OR     data_type = 'text'&lt;br /&gt;OR     data_type = 'varbinary'&lt;br /&gt;OR     data_type = 'varchar'&lt;br /&gt;THEN data_type + '(' + CAST(character_maximum_length AS VARCHAR) + ')'&lt;br /&gt;WHEN data_type   = 'Decimal'&lt;br /&gt;OR     data_type = 'money'&lt;br /&gt;OR     data_type = 'numeric'&lt;br /&gt;OR     data_type = 'smallmoney'&lt;br /&gt;THEN data_type + '(' + CAST(numeric_precision AS VARCHAR) + ',' + CAST(numeric_scale AS VARCHAR) + ')'&lt;br /&gt;WHEN data_type   = 'float'&lt;br /&gt;OR     data_type = 'int'&lt;br /&gt;OR     data_type = 'REAL'&lt;br /&gt;OR     data_type = 'smallint'&lt;br /&gt;OR     data_type = 'tinyint'&lt;br /&gt;THEN data_type + '(' + CAST(numeric_precision AS VARCHAR) + ')'&lt;br /&gt;ELSE data_type&lt;br /&gt;END) + ' ,'&lt;br /&gt;FROM   information_schema.columns&lt;br /&gt;WHERE  table_name = @TABLE_NAME&lt;br /&gt;AND&lt;br /&gt;(&lt;br /&gt;CASE&lt;br /&gt;WHEN&lt;br /&gt;(&lt;br /&gt;@DATA_TYPE IS NULL&lt;br /&gt;OR     @DATA_TYPE       = ''&lt;br /&gt;)&lt;br /&gt;THEN 1&lt;br /&gt;END       = 1&lt;br /&gt;OR     data_type = @DATA_TYPE&lt;br /&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Re Written Query&lt;/span&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;DECLARE @TableName AS         VARCHAR(200)&lt;br /&gt;DECLARE @TableName AS         VARCHAR(200)&lt;br /&gt;DECLARE @ParamNames AS        VARCHAR(8000)&lt;br /&gt;DECLARE @HorizontalTabChar AS CHAR(1)&lt;br /&gt;DECLARE @NewLineChar AS       CHAR(2)&lt;br /&gt;SET @TableName         = 'TableTest'&lt;br /&gt;SET @HorizontalTabChar = CHAR(9)&lt;br /&gt;SET @NewLineChar       = CHAR(13) + CHAR(10)&lt;br /&gt;SET @ParamNames        = REPLICATE(@HorizontalTabChar, 3)&lt;br /&gt;SELECT @ParamNames     = @ParamNames + '@' + syscolumns.name + ' ' + t.name + CAST( (&lt;br /&gt;                     CASE&lt;br /&gt;                            WHEN COLUMNPROPERTY(OBJECT_ID(@TableName), syscolumns.name, 'Scale') IS NOT NULL&lt;br /&gt;                            THEN '('  + CAST(COLUMNPROPERTY(OBJECT_ID(@TableName), syscolumns.name, 'Precision') AS VARCHAR) + ',' + CAST(COLUMNPROPERTY(OBJECT_ID(@TableName), syscolumns.name, 'Scale')AS VARCHAR) + ')'&lt;br /&gt;                            ELSE '('  + CAST( COLUMNPROPERTY(OBJECT_ID(@TableName), syscolumns.name, 'Precision')AS VARCHAR) +')'&lt;br /&gt;                     END) AS VARCHAR) + ',' + @NewLineChar + REPLICATE(@HorizontalTabChar, 3)&lt;br /&gt;FROM   sysobjects&lt;br /&gt;       JOIN syscolumns&lt;br /&gt;       ON     sysobjects.id = syscolumns.id&lt;br /&gt;       INNER JOIN systypes t&lt;br /&gt;       ON     syscolumns.xusertype = t.xusertype&lt;br /&gt;WHERE  sysobjects.ID               = OBJECT_ID(@TableName)&lt;br /&gt;SET @ParamNames                    = LEFT(@ParamNames, LEN(@ParamNames)-6)&lt;br /&gt;PRINT @ParamNames&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Another One Not Much Confident&lt;/b&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;DECLARE @TABLE_NAME VARCHAR(50) &lt;br /&gt;SET @TABLE_NAME =  'tabletest'&lt;br /&gt;&lt;br /&gt;SELECT '@' + syscolumns.name + ' ' + UPPER(systypes.name) + ' ' +&lt;br /&gt;       CASE&lt;br /&gt;              WHEN syscolumns.prec    IS NULL&lt;br /&gt;              AND    syscolumns.scale IS NULL&lt;br /&gt;              THEN '(' + CAST(syscolumns.length AS VARCHAR) + ')'&lt;br /&gt;              WHEN syscolumns.prec    = 0&lt;br /&gt;              AND    syscolumns.scale = 0&lt;br /&gt;              THEN '(' + CAST(syscolumns.length AS VARCHAR) + ')'&lt;br /&gt;              WHEN syscolumns.prec    &gt; 0&lt;br /&gt;              AND    syscolumns.scale = 0&lt;br /&gt;              THEN ''--CAST(syscolumns.length AS VARCHAR)&lt;br /&gt;              WHEN syscolumns.prec          = 0&lt;br /&gt;              AND    syscolumns.scale IS NULL&lt;br /&gt;              THEN '(' + CAST(syscolumns.length AS VARCHAR) + ')'&lt;br /&gt;              WHEN syscolumns.prec          &gt; 0&lt;br /&gt;              AND    syscolumns.scale IS NULL&lt;br /&gt;              THEN '(' + CAST(syscolumns.length AS VARCHAR) + ')'&lt;br /&gt;              ELSE '(' + CAST(syscolumns.prec AS   VARCHAR) + ' ,' + CAST(syscolumns.scale AS VARCHAR) + ')'&lt;br /&gt;       END&lt;br /&gt;FROM   sysobjects&lt;br /&gt;       JOIN syscolumns&lt;br /&gt;       ON     sysobjects.id = syscolumns.id&lt;br /&gt;       JOIN systypes&lt;br /&gt;       ON     syscolumns.xtype=systypes.xtype&lt;br /&gt;WHERE  sysobjects.xtype       ='U'&lt;br /&gt;AND    sysobjects.name        = @TABLE_NAME&lt;br /&gt;&lt;/PRE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-938572417590908709?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/938572417590908709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=938572417590908709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/938572417590908709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/938572417590908709'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/12/create-parameters.html' title='Create Parameters'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-1670518078166424714</id><published>2009-11-17T08:45:00.000+05:30</published><updated>2009-11-17T08:47:16.502+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Find the tables which does not have an Identity Key column</title><content type='html'>&lt;pre name="code" class="sql"&gt; &lt;br /&gt;SELECT   isc.table_name&lt;br /&gt;FROM     information_schema.columns AS isc&lt;br /&gt;         INNER JOIN sys.tables&lt;br /&gt;         ON       SYS.tables.object_id = object_id(isc.TABLE_NAME)&lt;br /&gt;WHERE    SYS.tables.type               = 'u'&lt;br /&gt;GROUP BY isc.table_name&lt;br /&gt;HAVING   MAX(COLUMNPROPERTY( OBJECT_ID(isc.table_name), isc.column_name,'Isidentity')) =0--( To get the table which doesnot contains identity columns')&lt;br /&gt;ORDER BY isc.table_name&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-1670518078166424714?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/1670518078166424714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=1670518078166424714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1670518078166424714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/1670518078166424714'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/11/find-tables-which-does-not-have.html' title='Find the tables which does not have an Identity Key column'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-7202714946368094933</id><published>2009-11-16T11:09:00.000+05:30</published><updated>2009-11-16T11:11:51.858+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Find the index of row in DataTable</title><content type='html'>string query = "Year = " + "2000" + " AND Period = " + "'1'";&lt;br /&gt;    &lt;br /&gt;int rowIndex = dtSaveAll.Rows.IndexOf(dtSaveAll.Select(query)(0));&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-7202714946368094933?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/7202714946368094933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=7202714946368094933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7202714946368094933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7202714946368094933'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/11/find-index-of-row-in-datatable.html' title='Find the index of row in DataTable'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-7115935515382858845</id><published>2009-11-16T08:29:00.000+05:30</published><updated>2009-11-17T08:45:33.189+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Find all SQL Identity columns</title><content type='html'>&lt;pre name="code" class="sql"&gt; &lt;br /&gt;SELECT   '['+table_schema+'].['+table_name+'] .['+column_name+']'AS SchemaTable,&lt;br /&gt;         table_name                                                            ,&lt;br /&gt;         column_name                                                           ,&lt;br /&gt;         ordinal_position                                                      ,&lt;br /&gt;         data_type&lt;br /&gt;FROM     information_schema.columns&lt;br /&gt;WHERE    columnproperty(object_id(table_schema + '.' + table_name), column_name,'IsIdentity') = 1&lt;br /&gt;ORDER BY table_name&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SELECT   '['+table_schema+'].['+table_name+'] .['+column_name+']'AS SchemaTable,&lt;br /&gt;         table_name                                                            ,&lt;br /&gt;         column_name                                                           ,&lt;br /&gt;         ordinal_position                                                      ,&lt;br /&gt;         data_type                                                             ,&lt;br /&gt;         Seed_Value                               AS SeedValue                                               ,&lt;br /&gt;         Increment_Value                          AS IncrementValue                                          ,&lt;br /&gt;         ident_current(Object_Name(ic.Object_ID)) AS CurrentValue                                            ,&lt;br /&gt;         Last_Value                               AS LastValue&lt;br /&gt;FROM     information_schema.columns               AS isc&lt;br /&gt;         INNER JOIN sys.identity_columns          AS ic&lt;br /&gt;         ON       ic.object_id = OBJECT_ID('['+isc.table_schema+'].['+isc.table_name+']')&lt;br /&gt;         INNER JOIN sys.tables&lt;br /&gt;         ON       SYS.tables.object_id                                                            = ic.object_id&lt;br /&gt;WHERE    columnproperty(object_id(isc.table_schema + '.' + table_name), column_name,'IsIdentity') = 1 --( To get the table which contains only identity columns')&lt;br /&gt;     AND SYS.tables.type                                                                          = 'u'&lt;br /&gt;ORDER BY table_name&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-7115935515382858845?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/7115935515382858845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=7115935515382858845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7115935515382858845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/7115935515382858845'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/11/find-all-sql-identity-columns.html' title='Find all SQL Identity columns'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-803009859544920552</id><published>2009-11-05T16:08:00.000+05:30</published><updated>2009-12-02T15:31:15.297+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Find table and index name for fragmented indexes</title><content type='html'>&lt;pre name="code" class="sql"&gt;&lt;br /&gt;;&lt;br /&gt;WITH GetFragmatation AS&lt;br /&gt;     ( SELECT object_id                   AS ObjectID       ,&lt;br /&gt;             OBJECT_NAME(object_id)       AS TableName      ,&lt;br /&gt;             index_id                     AS IndexID        ,&lt;br /&gt;             avg_fragmentation_in_percent AS PercentFragment,&lt;br /&gt;             fragment_count               AS TotalFrags     ,&lt;br /&gt;             avg_fragment_size_in_pages   AS PagesPerFrag   ,&lt;br /&gt;             page_count                   AS NumPages&lt;br /&gt;     FROM    sys.dm_db_index_physical_stats(DB_ID('RKPMS'), NULL, NULL, NULL , 'DETAILED')&lt;br /&gt;     WHERE   avg_fragmentation_in_percent &gt; 0&lt;br /&gt;     )&lt;br /&gt;SELECT gf.ObjectID                                              ,&lt;br /&gt;       '['+SCHEMA_NAME(schema_id)+'].['+Sch.name+']' AS FullName,&lt;br /&gt;       gf.TableName                                             ,&lt;br /&gt;       gf.IndexID                                               ,&lt;br /&gt;       IND.name AS IndexName                                    ,&lt;br /&gt;       gf.PercentFragment                                       ,&lt;br /&gt;       gf.TotalFrags                                            ,&lt;br /&gt;       gf.PagesPerFrag                                          ,&lt;br /&gt;       gf.NumPages&lt;br /&gt;FROM   GetFragmatation        AS gf&lt;br /&gt;       INNER JOIN sys.indexes AS ind&lt;br /&gt;       ON     ind.object_id = gf.ObjectID&lt;br /&gt;          AND index_id      = gf.IndexID&lt;br /&gt;       INNER JOIN sys.tables AS Sch&lt;br /&gt;       ON     Sch.object_id = gf.ObjectID&lt;br /&gt;              --Use the below one to defragment the Index&lt;br /&gt;              ALTER INDEX PK_TableNameIndexName&lt;br /&gt;       ON     [dbo].[TableName]REBUILD WITH ( FILLFACTOR = 70, ONLINE = ON )&lt;br /&gt;&lt;br /&gt;--To alter all the index for a table&lt;br /&gt;--ALTER INDEX ALL ON TableName REBUILD&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="sql"&gt;&lt;br /&gt;SELECT object_name(IPS.object_id) AS [TableName], &lt;br /&gt;   SI.name AS [IndexName], &lt;br /&gt;   IPS.Index_type_desc, &lt;br /&gt;   IPS.avg_fragmentation_in_percent AS [Percentage of the logical index that is fragmented], &lt;br /&gt;   IPS.avg_fragment_size_in_pages AS [Average number of pages in a leaf-level fragment.], &lt;br /&gt;   IPS.avg_page_space_used_in_percent, &lt;br /&gt;   IPS.record_count AS [Total number of records], &lt;br /&gt;   IPS.ghost_record_count,&lt;br /&gt;   IPS.fragment_count AS [Number of fragments in the leaf level.], &lt;br /&gt;   IPS.avg_fragment_size_in_pages AS PagesPerFrag,&lt;br /&gt;   IPS.page_count AS [Number of index or data pages.]&lt;br /&gt;FROM sys.dm_db_index_physical_stats(db_id(N'Rkpms'), NULL, NULL, NULL , 'DETAILED') IPS&lt;br /&gt;   JOIN sys.tables ST WITH (nolock) ON IPS.object_id = ST.object_id&lt;br /&gt;   JOIN sys.indexes SI WITH (nolock) ON IPS.object_id = SI.object_id AND IPS.index_id = SI.index_id&lt;br /&gt;WHERE ST.is_ms_shipped = 0 AND ST.TYPE = 'U'&lt;br /&gt;ORDER BY 4 DESC&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-803009859544920552?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/803009859544920552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=803009859544920552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/803009859544920552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/803009859544920552'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/11/find-table-and-index-name-for.html' title='Find table and index name for fragmented indexes'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-6863810706965984553</id><published>2009-11-05T12:37:00.000+05:30</published><updated>2009-11-05T12:42:10.254+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>List Everything in My Database</title><content type='html'>&lt;pre name="code" class="sql"&gt; &lt;br /&gt;SELECT B.Name as TableName,A.name as TriggerName&lt;br /&gt;FROM sysobjects A,sysobjects B&lt;br /&gt;WHERE A.xtype='TR'&lt;br /&gt;AND A.parent_obj = B.id&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="color:green"&gt;Here are the list of all possible values for this column (xtype):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;C&lt;/strong&gt; = CHECK constraint&lt;br&gt;&lt;br /&gt;&lt;strong&gt;D&lt;/strong&gt; = Default or DEFAULT constraint&lt;br&gt;&lt;br /&gt;&lt;strong&gt;F&lt;/strong&gt; = FOREIGN KEY constraint&lt;br&gt;&lt;br /&gt;&lt;strong&gt;L&lt;/strong&gt; = Log&lt;br&gt;&lt;br /&gt;&lt;strong&gt;P&lt;/strong&gt; = Stored procedure&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PK&lt;/strong&gt; = PRIMARY KEY constraint (type is K)&lt;br&gt;&lt;br /&gt;&lt;strong&gt;RF&lt;/strong&gt; = Replication filter stored procedure&lt;br&gt;&lt;br /&gt;&lt;strong&gt;S&lt;/strong&gt; = System table&lt;br&gt;&lt;br /&gt;&lt;strong&gt;TR&lt;/strong&gt; = Trigger&lt;br&gt;&lt;br /&gt;&lt;strong&gt;U&lt;/strong&gt; = User table&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UQ&lt;/strong&gt; = UNIQUE constraint (type is K)&lt;br&gt;&lt;br /&gt;&lt;strong&gt;V&lt;/strong&gt; = View&lt;br&gt;&lt;br /&gt;&lt;strong&gt;X&lt;/strong&gt; = Extended stored procedure&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color:green"&gt;To list the triggers&lt;/b&gt;&lt;br /&gt;&lt;pre name="code" class="sql"&gt; &lt;br /&gt;&lt;br /&gt;SELECT S2.[name] TableName, S1.[name] TriggerName, &lt;br /&gt;CASE &lt;br /&gt;WHEN S2.deltrig = s1.id  THEN 'Delete' &lt;br /&gt;WHEN S2.instrig = s1.id THEN 'Insert' &lt;br /&gt;WHEN S2.updtrig = s1.id THEN 'Update' &lt;br /&gt;END 'TriggerType' , 'S1',s1.*,'S2',s2.*&lt;br /&gt;FROM sysobjects S1 JOIN sysobjects S2 ON S1.parent_obj = S2.[id] WHERE S1.xtype='TR'&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-6863810706965984553?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/6863810706965984553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=6863810706965984553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6863810706965984553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6863810706965984553'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/11/list-everything-in-my-database.html' title='List Everything in My Database'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-3095601831914263555</id><published>2009-10-12T15:45:00.000+05:30</published><updated>2010-04-13T18:33:04.189+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Path</title><content type='html'>&lt;a href="http://geekswithblogs.net/renso/archive/2010/03/24/making-sense-of-asp.net-paths.aspx"&gt;Making Sense of ASP.NET Paths&lt;/a&gt;&lt;br /&gt;&lt;em&gt;Full URL :&lt;/em&gt; http://localhost:2000/virtual_dir/myrep/page.aspx?q=qvalue&lt;br /&gt;&lt;a href="http://www.xcess.info/request_url_parameters_details_asp_net_aen.aspx"&gt;Original Path&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="2" border="1"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.ApplicationPath :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;/virtual_dir&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.CurrentExecutionFilePath :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;/virtual_dir/myrep/page.aspx&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.FilePath :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;/virtual_dir/myrep/page.aspx&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Path :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;/virtual_dir/myrep/page.aspx&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.PhysicalApplicationPath :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;d:\Inetpub\wwwroot\Websitename\virtual_dir\&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.QueryString :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;/virtual_dir/myrep/page.aspx?q=qvalue&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Url.AbsolutePath :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;/virtual_dir/myrep/page.aspx&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Url.AbsoluteUri :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;http://localhost:2000/virtual_dir/myrep/page.aspx?q=qvalue&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Url.Host :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;localhost&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Url.Authority :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;localhost:2000&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Url.LocalPath :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;/virtual_dir/myrep/page.aspx&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Url.PathAndQuery :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;/virtual_dir/myrep/page.aspx?q=qvalue&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Url.Port :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;2000&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Url.Query :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;?q=qvalue&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Url.Scheme :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;http&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;Request.Url.Segments :&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;/&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;virtual_dir/&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;myrep/&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="label_cem"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;page.aspx&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-3095601831914263555?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/3095601831914263555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=3095601831914263555' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3095601831914263555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3095601831914263555'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/10/path.html' title='Path'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-3415949566842158104</id><published>2009-10-07T14:45:00.000+05:30</published><updated>2009-10-07T14:50:04.284+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Custom PrimaryKey Based on IdentityValue</title><content type='html'>&lt;pre name="code" class="sql"&gt; &lt;br /&gt;CREATE TABLE [dbo].[PrimaryKeyTest](&lt;br /&gt; [ID] [int] IDENTITY (1,1),&lt;br /&gt; [PKV] [nchar](50) NOT NULL&lt;br /&gt;) ON [PRIMARY]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DECLARE @CustomPKV NVARCHAR(50)&lt;br /&gt;&lt;br /&gt;SELECT @CustomPKV = (&lt;br /&gt;CASE WHEN (ISNULL(MAX(Id), -1) = -1) THEN 1&lt;br /&gt; WHEN MAX(Id) &gt;= 1 THEN MAX(Id) + 1&lt;br /&gt;END &lt;br /&gt;)&lt;br /&gt;FROM [dbo].[PrimaryKeyTest]&lt;br /&gt;&lt;br /&gt;PRINT @CustomPKV&lt;br /&gt;&lt;br /&gt;INSERT INTO [dbo].[PrimaryKeyTest] (PKV) VALUES(@CustomPKV)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SELECT ID, PKV FROM [dbo].[PrimaryKeyTest]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--To CHAR DATA TYPE 'R' +  CAST(&lt;br /&gt;--(CASE WHEN (ISNULL(MAX(Id), -1) = -1) THEN 1&lt;br /&gt;-- WHEN MAX(Id) &gt;= 1 THEN MAX(Id) + 1&lt;br /&gt;--END)  AS VARCHAR)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-3415949566842158104?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/3415949566842158104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=3415949566842158104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3415949566842158104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3415949566842158104'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/10/custom-primarykey-based-on.html' title='Custom PrimaryKey Based on IdentityValue'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-6169152697094608256</id><published>2009-10-01T11:50:00.000+05:30</published><updated>2009-10-01T11:55:32.001+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>Numeric Validation in Javascript</title><content type='html'>/*&lt;br /&gt;NUMERIC&lt;br /&gt;prefix --&gt; For number of digits before .(Period)&lt;br /&gt;If you didn't give the period also it allows only the digits that given in the prefix part&lt;br /&gt;           &lt;br /&gt;suffix --&gt; For the number of digits after the .(Period)&lt;br /&gt;&lt;br /&gt;NumberOnly&lt;br /&gt;If we specify suffix as  0 it allows only integer&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript"&gt;  &lt;br /&gt;function NumericValidation(ctrlName, e, prefix, suffix) {&lt;br /&gt;&lt;br /&gt;    var evt = e || window.event;&lt;br /&gt;    var code = e.charCode ? e.charCode : e.keyCode;&lt;br /&gt;    var EndKey = 35;&lt;br /&gt;    var HomeKey = 36;&lt;br /&gt;    var NumeriPeriodKey = 110;&lt;br /&gt;    var PeriodKey = 190;&lt;br /&gt;    if (e.shiftKey || e.ctrlKey) {&lt;br /&gt;        return false;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    //debugger;&lt;br /&gt;    // IE&lt;br /&gt;    if (evt.type == 'keydown') {&lt;br /&gt;&lt;br /&gt;        if ((code == EndKey || code == HomeKey || code == 37 || code == 38 || code == 39 || code == 40 || code == 9)) {&lt;br /&gt;            return true;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        if (code == 46 || code == 8) {&lt;br /&gt;            var val = ctrlName.value;&lt;br /&gt;            var pos = val.indexOf('.');&lt;br /&gt;            var lenofBox = val.length;&lt;br /&gt;&lt;br /&gt;            if (code == 8) {&lt;br /&gt;                //Since back key deletes backward&lt;br /&gt;                if (doGetCaretPosition(ctrlName) == (pos + 1)) {&lt;br /&gt;&lt;br /&gt;                    ctrlName.value = val.substring(0, pos)&lt;br /&gt;                }&lt;br /&gt;                else {&lt;br /&gt;                    return true;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            else (code == 46)&lt;br /&gt;            {&lt;br /&gt;                //Since del key deletes forward&lt;br /&gt;                if (doGetCaretPosition(ctrlName) == pos) {&lt;br /&gt;&lt;br /&gt;                    ctrlName.value = val.substring(0, pos)&lt;br /&gt;                }&lt;br /&gt;                else {&lt;br /&gt;                    return true;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        if ((evt.keyCode &gt;= 48 &amp;&amp; evt.keyCode &lt;= 57) || (evt.keyCode &gt;= 96 &amp;&amp; evt.keyCode &lt;= 105) || (code == PeriodKey || code == NumeriPeriodKey)) {&lt;br /&gt;&lt;br /&gt;            var val = ctrlName.value;&lt;br /&gt;&lt;br /&gt;            if (val != "") {&lt;br /&gt;                var pos = val.indexOf('.');&lt;br /&gt;                var lenofBox = val.length;&lt;br /&gt;&lt;br /&gt;                //To allow only int&lt;br /&gt;                if ((suffix == 0) &amp;&amp; (code == PeriodKey || code == NumeriPeriodKey)) {&lt;br /&gt;                    return false;&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                //if already period is available&lt;br /&gt;                if ((code == PeriodKey || code == NumeriPeriodKey) &amp;&amp; (pos &gt; -1)) {&lt;br /&gt;                    return false;&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                //if prefix reaches and the current one is not period the stop the event&lt;br /&gt;                if ((pos == -1 &amp;&amp; lenofBox == prefix) &amp;&amp; (code != PeriodKey &amp;&amp; code != NumeriPeriodKey)) {&lt;br /&gt;                    return false;&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                if (doGetCaretPosition(ctrlName) &gt; pos) {&lt;br /&gt;&lt;br /&gt;                    if (pos &gt; -1) {&lt;br /&gt;                        var decSting = val.substring(pos + 1, lenofBox + 1);&lt;br /&gt;                        // debugger;&lt;br /&gt;                        //alert(doGetCaretPosition(document.getElementById('TextBox1')));&lt;br /&gt;                        if (decSting.length == suffix) {&lt;br /&gt;                            return false;&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                else if (pos &gt;= prefix) {&lt;br /&gt;                    return false;&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            // alert(document.getElementById('TextBox1').value + String.fromCharCode(evt.keyCode));&lt;br /&gt;            return true;&lt;br /&gt;        }&lt;br /&gt;        else {&lt;br /&gt;            //  alert(document.getElementById('TextBox1').value);&lt;br /&gt;            return false;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    else if (evt.type == 'keypress') {&lt;br /&gt;&lt;br /&gt;        if ((code == 37 || code == 38 || code == 39 || code == 40) || (code == 46 || code == 8 || code == 9)) {&lt;br /&gt;            return true;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        if ((evt.keyCode &gt;= 48 &amp;&amp; evt.keyCode &lt;= 57) || (evt.keyCode &gt;= 96 &amp;&amp; evt.keyCode &lt;= 105) || (code == PeriodKey || code == NumeriPeriodKey)) {&lt;br /&gt;&lt;br /&gt;            var val = ctrlName.value;&lt;br /&gt;&lt;br /&gt;            if (val != "") {&lt;br /&gt;                var pos = val.indexOf('.');&lt;br /&gt;                var lenofBox = val.length;&lt;br /&gt;&lt;br /&gt;                //To allow only int&lt;br /&gt;                if ((suffix == 0) &amp;&amp; (code == PeriodKey || code == NumeriPeriodKey)) {&lt;br /&gt;                    return false;&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                //if already period is available&lt;br /&gt;                if ((code == PeriodKey || code == NumeriPeriodKey) &amp;&amp; (pos &gt; -1)) {&lt;br /&gt;                    return false;&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                //if prefix reaches and the current one is not period the stop the event&lt;br /&gt;                if ((pos == -1 &amp;&amp; lenofBox == prefix) &amp;&amp; (code != PeriodKey || code != NumeriPeriodKey)) {&lt;br /&gt;                    return false;&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                if (doGetCaretPosition(ctrlName) &gt; pos) {&lt;br /&gt;&lt;br /&gt;                    if (pos &gt; -1) {&lt;br /&gt;                        var decSting = val.substring(pos + 1, lenofBox + 1);&lt;br /&gt;                        // debugger;&lt;br /&gt;                        //alert(doGetCaretPosition(document.getElementById('TextBox1')));&lt;br /&gt;                        if (decSting.length == suffix) {&lt;br /&gt;                            return false;&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                else if (pos &gt;= prefix) {&lt;br /&gt;                    return false;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            // alert(document.getElementById('TextBox1').value + String.fromCharCode(evt.keyCode));&lt;br /&gt;            return true;&lt;br /&gt;        }&lt;br /&gt;        else {&lt;br /&gt;            //   alert(document.getElementById('TextBox1').value);&lt;br /&gt;            return false;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function doGetCaretPosition(ctrl) {&lt;br /&gt;    var CaretPos = 0; // IE Support&lt;br /&gt;    if (document.selection) {&lt;br /&gt;        ctrl.focus();&lt;br /&gt;        var Sel = document.selection.createRange();&lt;br /&gt;        Sel.moveStart('character', -ctrl.value.length);&lt;br /&gt;        CaretPos = Sel.text.length;&lt;br /&gt;    }&lt;br /&gt;    // Firefox support&lt;br /&gt;    else if (ctrl.selectionStart || ctrl.selectionStart == '0') CaretPos = ctrl.selectionStart;&lt;br /&gt;    return (CaretPos);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-6169152697094608256?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/6169152697094608256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=6169152697094608256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6169152697094608256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6169152697094608256'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/09/babu-kumarasamy-numeric-prefix-for.html' title='Numeric Validation in Javascript'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-995402256325109424</id><published>2009-10-01T11:39:00.000+05:30</published><updated>2011-09-12T11:30:16.793+05:30</updated><title type='text'>Numeric Validation in Javascript</title><content type='html'>&lt;style type="text/css"&gt;&lt;br /&gt;span.comment  {color:#060; font-weight:normal}&lt;br /&gt;span.oper     {color:#006; font-weight:normal}&lt;br /&gt;span.var      {color:#600; font-weight:normal}&lt;br /&gt;span.func     {color:#606; font-weight:normal}&lt;br /&gt;span.num      {color:#300; font-weight:bold}&lt;br /&gt;span.string   {color:#066; font-weight:normal}&lt;br /&gt;span.reg      {color:#666; font-weight:normal}&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre lang="javascript"&gt;&lt;code&gt;&lt;br /&gt;&lt;font class="comment"&gt;/* Babu Kumarasamy&lt;br /&gt;NUMERIC&lt;br /&gt;prefix --&amp;gt; For number of digits before .(Period)&lt;br /&gt;If you didn't give the period also it allows only the digits that given in the prefix part&lt;br /&gt;       &lt;br /&gt;suffix --&amp;gt; For the number of digits after the .(Period)&lt;br /&gt;&lt;br /&gt;NumberOnly&lt;br /&gt;If we specify suffix as  0 it allows only integer&lt;br /&gt;*/&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font class="oper"&gt;function&lt;/font&gt; &lt;font class="func"&gt;NumericValidation&lt;/font&gt;(&lt;font class="var"&gt;ctrlName&lt;/font&gt;, &lt;font class="var"&gt;e&lt;/font&gt;, &lt;font class="var"&gt;prefix&lt;/font&gt;, &lt;font class="var"&gt;suffix&lt;/font&gt;) {&lt;br /&gt;&lt;br /&gt;  &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;evt&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;e&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;window&lt;/font&gt;.&lt;font class="var"&gt;event&lt;/font&gt;;&lt;br /&gt;  &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;e&lt;/font&gt;.&lt;font class="var"&gt;charCode&lt;/font&gt; &lt;font class="oper"&gt;?&lt;/font&gt; &lt;font class="var"&gt;e&lt;/font&gt;.&lt;font class="var"&gt;charCode&lt;/font&gt; &lt;font class="oper"&gt;:&lt;/font&gt; &lt;font class="var"&gt;e&lt;/font&gt;.&lt;font class="var"&gt;keyCode&lt;/font&gt;;&lt;br /&gt;  &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;EndKey&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;35&lt;/font&gt;;&lt;br /&gt;  &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;HomeKey&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;36&lt;/font&gt;;&lt;br /&gt;  &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;NumeriPeriodKey&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;110&lt;/font&gt;;&lt;br /&gt;  &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;PeriodKey&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;190&lt;/font&gt;;&lt;br /&gt;  &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;e&lt;/font&gt;.&lt;font class="var"&gt;shiftKey&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;e&lt;/font&gt;.&lt;font class="var"&gt;ctrlKey&lt;/font&gt;) {&lt;br /&gt;      &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font class="comment"&gt;//debugger;&lt;/font&gt;&lt;br /&gt;  &lt;font class="comment"&gt;// IE&lt;/font&gt;&lt;br /&gt;  &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;evt&lt;/font&gt;.&lt;font class="var"&gt;type&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; '&lt;font class="string"&gt;keydown&lt;/font&gt;') {&lt;br /&gt;&lt;br /&gt;      &lt;font class="oper"&gt;if&lt;/font&gt; ((&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;EndKey&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;HomeKey&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;37&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;38&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;39&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;40&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;9&lt;/font&gt;)) {&lt;br /&gt;          &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;true&lt;/font&gt;;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;46&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;8&lt;/font&gt;) {&lt;br /&gt;          &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;ctrlName&lt;/font&gt;.&lt;font class="var"&gt;value&lt;/font&gt;;&lt;br /&gt;          &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt;.&lt;font class="func"&gt;indexOf&lt;/font&gt;('&lt;font class="string"&gt;.&lt;/font&gt;');&lt;br /&gt;          &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;lenofBox&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt;.&lt;font class="var"&gt;length&lt;/font&gt;;&lt;br /&gt;&lt;br /&gt;          &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;8&lt;/font&gt;) {&lt;br /&gt;              &lt;font class="comment"&gt;//Since back key deletes backward&lt;/font&gt;&lt;br /&gt;              &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="func"&gt;doGetCaretPosition&lt;/font&gt;(&lt;font class="var"&gt;ctrlName&lt;/font&gt;) &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; (&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;+&lt;/font&gt; &lt;font class="num"&gt;1&lt;/font&gt;)) {&lt;br /&gt;&lt;br /&gt;                  &lt;font class="var"&gt;ctrlName&lt;/font&gt;.&lt;font class="var"&gt;value&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt;.&lt;font class="func"&gt;substring&lt;/font&gt;(&lt;font class="num"&gt;0&lt;/font&gt;, &lt;font class="var"&gt;pos&lt;/font&gt;)&lt;br /&gt;              }&lt;br /&gt;              &lt;font class="oper"&gt;else&lt;/font&gt; {&lt;br /&gt;                  &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;true&lt;/font&gt;;&lt;br /&gt;              }&lt;br /&gt;          }&lt;br /&gt;          &lt;font class="func"&gt;else&lt;/font&gt; (&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;46&lt;/font&gt;)&lt;br /&gt;          {&lt;br /&gt;              &lt;font class="comment"&gt;//Since del key deletes forward&lt;/font&gt;&lt;br /&gt;              &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="func"&gt;doGetCaretPosition&lt;/font&gt;(&lt;font class="var"&gt;ctrlName&lt;/font&gt;) &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;pos&lt;/font&gt;) {&lt;br /&gt;&lt;br /&gt;                  &lt;font class="var"&gt;ctrlName&lt;/font&gt;.&lt;font class="var"&gt;value&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt;.&lt;font class="func"&gt;substring&lt;/font&gt;(&lt;font class="num"&gt;0&lt;/font&gt;, &lt;font class="var"&gt;pos&lt;/font&gt;)&lt;br /&gt;              }&lt;br /&gt;              &lt;font class="oper"&gt;else&lt;/font&gt; {&lt;br /&gt;                  &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;true&lt;/font&gt;;&lt;br /&gt;              }&lt;br /&gt;          }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      &lt;font class="oper"&gt;if&lt;/font&gt; ((&lt;font class="var"&gt;evt&lt;/font&gt;.&lt;font class="var"&gt;keyCode&lt;/font&gt; &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;48&lt;/font&gt; &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; &lt;font class="var"&gt;evt&lt;/font&gt;.&lt;font class="var"&gt;keyCode&lt;/font&gt; &lt;font class="oper"&gt;&amp;lt;&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;57&lt;/font&gt;) &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; (&lt;font class="var"&gt;evt&lt;/font&gt;.&lt;font class="var"&gt;keyCode&lt;/font&gt; &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;96&lt;/font&gt; &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; &lt;font class="var"&gt;evt&lt;/font&gt;.&lt;font class="var"&gt;keyCode&lt;/font&gt; &lt;font class="oper"&gt;&amp;lt;&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;105&lt;/font&gt;) &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; (&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;PeriodKey&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;NumeriPeriodKey&lt;/font&gt;)) {&lt;br /&gt;&lt;br /&gt;          &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;ctrlName&lt;/font&gt;.&lt;font class="var"&gt;value&lt;/font&gt;;&lt;br /&gt;&lt;br /&gt;          &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;val&lt;/font&gt; &lt;font class="oper"&gt;!=&lt;/font&gt; "&lt;font class="string"&gt;&lt;/font&gt;") {&lt;br /&gt;              &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt;.&lt;font class="func"&gt;indexOf&lt;/font&gt;('&lt;font class="string"&gt;.&lt;/font&gt;');&lt;br /&gt;              &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;lenofBox&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt;.&lt;font class="var"&gt;length&lt;/font&gt;;&lt;br /&gt;&lt;br /&gt;              &lt;font class="comment"&gt;//To allow only int&lt;/font&gt;&lt;br /&gt;              &lt;font class="oper"&gt;if&lt;/font&gt; ((&lt;font class="var"&gt;suffix&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;0&lt;/font&gt;) &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; (&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;PeriodKey&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;NumeriPeriodKey&lt;/font&gt;)) {&lt;br /&gt;                  &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;              }&lt;br /&gt;&lt;br /&gt;              &lt;font class="comment"&gt;//if already period is available&lt;/font&gt;&lt;br /&gt;              &lt;font class="oper"&gt;if&lt;/font&gt; ((&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;PeriodKey&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;NumeriPeriodKey&lt;/font&gt;) &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; (&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt; &lt;font class="oper"&gt;-&lt;/font&gt;&lt;font class="num"&gt;1&lt;/font&gt;)) {&lt;br /&gt;                  &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;              }&lt;br /&gt;&lt;br /&gt;              &lt;font class="comment"&gt;//if prefix reaches and the current one is not period the stop the event&lt;/font&gt;&lt;br /&gt;              &lt;font class="oper"&gt;if&lt;/font&gt; ((&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="oper"&gt;-&lt;/font&gt;&lt;font class="num"&gt;1&lt;/font&gt; &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; &lt;font class="var"&gt;lenofBox&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;prefix&lt;/font&gt;) &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; (&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;!=&lt;/font&gt; &lt;font class="var"&gt;PeriodKey&lt;/font&gt; &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;!=&lt;/font&gt; &lt;font class="var"&gt;NumeriPeriodKey&lt;/font&gt;)) {&lt;br /&gt;                  &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;              }&lt;br /&gt;&lt;br /&gt;              &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="func"&gt;doGetCaretPosition&lt;/font&gt;(&lt;font class="var"&gt;ctrlName&lt;/font&gt;) &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt; &lt;font class="var"&gt;pos&lt;/font&gt;) {&lt;br /&gt;&lt;br /&gt;                  &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt; &lt;font class="oper"&gt;-&lt;/font&gt;&lt;font class="num"&gt;1&lt;/font&gt;) {&lt;br /&gt;                      &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;decSting&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt;.&lt;font class="func"&gt;substring&lt;/font&gt;(&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;+&lt;/font&gt; &lt;font class="num"&gt;1&lt;/font&gt;, &lt;font class="var"&gt;lenofBox&lt;/font&gt; &lt;font class="oper"&gt;+&lt;/font&gt; &lt;font class="num"&gt;1&lt;/font&gt;);&lt;br /&gt;                      &lt;font class="comment"&gt;// debugger;&lt;/font&gt;&lt;br /&gt;                      &lt;font class="comment"&gt;//alert(doGetCaretPosition(document.getElementById('TextBox1')));&lt;/font&gt;&lt;br /&gt;                      &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;decSting&lt;/font&gt;.&lt;font class="var"&gt;length&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;suffix&lt;/font&gt;) {&lt;br /&gt;                          &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;                      }&lt;br /&gt;                  }&lt;br /&gt;              }&lt;br /&gt;              &lt;font class="oper"&gt;else&lt;/font&gt; &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;prefix&lt;/font&gt;) {&lt;br /&gt;                  &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;              }&lt;br /&gt;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;          &lt;font class="comment"&gt;// alert(document.getElementById('TextBox1').value + String.fromCharCode(evt.keyCode));&lt;/font&gt;&lt;br /&gt;          &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;true&lt;/font&gt;;&lt;br /&gt;      }&lt;br /&gt;      &lt;font class="oper"&gt;else&lt;/font&gt; {&lt;br /&gt;          &lt;font class="comment"&gt;//  alert(document.getElementById('TextBox1').value);&lt;/font&gt;&lt;br /&gt;          &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;  &lt;font class="oper"&gt;else&lt;/font&gt; &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;evt&lt;/font&gt;.&lt;font class="var"&gt;type&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; '&lt;font class="string"&gt;keypress&lt;/font&gt;') {&lt;br /&gt;&lt;br /&gt;      &lt;font class="oper"&gt;if&lt;/font&gt; ((&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;37&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;38&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;39&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;40&lt;/font&gt;) &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; (&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;46&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;8&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;9&lt;/font&gt;)) {&lt;br /&gt;          &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;true&lt;/font&gt;;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      &lt;font class="oper"&gt;if&lt;/font&gt; ((&lt;font class="var"&gt;evt&lt;/font&gt;.&lt;font class="var"&gt;keyCode&lt;/font&gt; &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;48&lt;/font&gt; &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; &lt;font class="var"&gt;evt&lt;/font&gt;.&lt;font class="var"&gt;keyCode&lt;/font&gt; &lt;font class="oper"&gt;&amp;lt;&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;57&lt;/font&gt;) &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; (&lt;font class="var"&gt;evt&lt;/font&gt;.&lt;font class="var"&gt;keyCode&lt;/font&gt; &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;96&lt;/font&gt; &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; &lt;font class="var"&gt;evt&lt;/font&gt;.&lt;font class="var"&gt;keyCode&lt;/font&gt; &lt;font class="oper"&gt;&amp;lt;&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;105&lt;/font&gt;) &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; (&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;PeriodKey&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;NumeriPeriodKey&lt;/font&gt;)) {&lt;br /&gt;&lt;br /&gt;          &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;ctrlName&lt;/font&gt;.&lt;font class="var"&gt;value&lt;/font&gt;;&lt;br /&gt;&lt;br /&gt;          &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;val&lt;/font&gt; &lt;font class="oper"&gt;!=&lt;/font&gt; "&lt;font class="string"&gt;&lt;/font&gt;") {&lt;br /&gt;              &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt;.&lt;font class="func"&gt;indexOf&lt;/font&gt;('&lt;font class="string"&gt;.&lt;/font&gt;');&lt;br /&gt;              &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;lenofBox&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt;.&lt;font class="var"&gt;length&lt;/font&gt;;&lt;br /&gt;&lt;br /&gt;              &lt;font class="comment"&gt;//To allow only int&lt;/font&gt;&lt;br /&gt;              &lt;font class="oper"&gt;if&lt;/font&gt; ((&lt;font class="var"&gt;suffix&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;0&lt;/font&gt;) &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; (&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;PeriodKey&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;NumeriPeriodKey&lt;/font&gt;)) {&lt;br /&gt;                  &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;              }&lt;br /&gt;&lt;br /&gt;              &lt;font class="comment"&gt;//if already period is available&lt;/font&gt;&lt;br /&gt;              &lt;font class="oper"&gt;if&lt;/font&gt; ((&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;PeriodKey&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;NumeriPeriodKey&lt;/font&gt;) &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; (&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt; &lt;font class="oper"&gt;-&lt;/font&gt;&lt;font class="num"&gt;1&lt;/font&gt;)) {&lt;br /&gt;                  &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;              }&lt;br /&gt;&lt;br /&gt;              &lt;font class="comment"&gt;//if prefix reaches and the current one is not period the stop the event&lt;/font&gt;&lt;br /&gt;              &lt;font class="oper"&gt;if&lt;/font&gt; ((&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="oper"&gt;-&lt;/font&gt;&lt;font class="num"&gt;1&lt;/font&gt; &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; &lt;font class="var"&gt;lenofBox&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;prefix&lt;/font&gt;) &lt;font class="oper"&gt;&amp;amp;&lt;/font&gt;&lt;font class="oper"&gt;&amp;amp;&lt;/font&gt; (&lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;!=&lt;/font&gt; &lt;font class="var"&gt;PeriodKey&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;code&lt;/font&gt; &lt;font class="oper"&gt;!=&lt;/font&gt; &lt;font class="var"&gt;NumeriPeriodKey&lt;/font&gt;)) {&lt;br /&gt;                  &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;              }&lt;br /&gt;&lt;br /&gt;              &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="func"&gt;doGetCaretPosition&lt;/font&gt;(&lt;font class="var"&gt;ctrlName&lt;/font&gt;) &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt; &lt;font class="var"&gt;pos&lt;/font&gt;) {&lt;br /&gt;&lt;br /&gt;                  &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt; &lt;font class="oper"&gt;-&lt;/font&gt;&lt;font class="num"&gt;1&lt;/font&gt;) {&lt;br /&gt;                      &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;decSting&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;val&lt;/font&gt;.&lt;font class="func"&gt;substring&lt;/font&gt;(&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;+&lt;/font&gt; &lt;font class="num"&gt;1&lt;/font&gt;, &lt;font class="var"&gt;lenofBox&lt;/font&gt; &lt;font class="oper"&gt;+&lt;/font&gt; &lt;font class="num"&gt;1&lt;/font&gt;);&lt;br /&gt;                      &lt;font class="comment"&gt;// debugger;&lt;/font&gt;&lt;br /&gt;                      &lt;font class="comment"&gt;//alert(doGetCaretPosition(document.getElementById('TextBox1')));&lt;/font&gt;&lt;br /&gt;                      &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;decSting&lt;/font&gt;.&lt;font class="var"&gt;length&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;suffix&lt;/font&gt;) {&lt;br /&gt;                          &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;                      }&lt;br /&gt;                  }&lt;br /&gt;              }&lt;br /&gt;              &lt;font class="oper"&gt;else&lt;/font&gt; &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;pos&lt;/font&gt; &lt;font class="oper"&gt;&amp;gt;&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;prefix&lt;/font&gt;) {&lt;br /&gt;                  &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;              }&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;          &lt;font class="comment"&gt;// alert(document.getElementById('TextBox1').value + String.fromCharCode(evt.keyCode));&lt;/font&gt;&lt;br /&gt;          &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;true&lt;/font&gt;;&lt;br /&gt;      }&lt;br /&gt;      &lt;font class="oper"&gt;else&lt;/font&gt; {&lt;br /&gt;          &lt;font class="comment"&gt;//   alert(document.getElementById('TextBox1').value);&lt;/font&gt;&lt;br /&gt;          &lt;font class="oper"&gt;return&lt;/font&gt; &lt;font class="num"&gt;false&lt;/font&gt;;&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;font class="oper"&gt;function&lt;/font&gt; &lt;font class="func"&gt;doGetCaretPosition&lt;/font&gt;(&lt;font class="var"&gt;ctrl&lt;/font&gt;) {&lt;br /&gt;  &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;CaretPos&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="num"&gt;0&lt;/font&gt;; &lt;font class="comment"&gt;// IE Support&lt;/font&gt;&lt;br /&gt;  &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;document&lt;/font&gt;.&lt;font class="var"&gt;selection&lt;/font&gt;) {&lt;br /&gt;      &lt;font class="var"&gt;ctrl&lt;/font&gt;.&lt;font class="func"&gt;focus&lt;/font&gt;();&lt;br /&gt;      &lt;font class="oper"&gt;var&lt;/font&gt; &lt;font class="var"&gt;Sel&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;document&lt;/font&gt;.&lt;font class="var"&gt;selection&lt;/font&gt;.&lt;font class="func"&gt;createRange&lt;/font&gt;();&lt;br /&gt;      &lt;font class="var"&gt;Sel&lt;/font&gt;.&lt;font class="func"&gt;moveStart&lt;/font&gt;('&lt;font class="string"&gt;character&lt;/font&gt;', &lt;font class="oper"&gt;-&lt;/font&gt;&lt;font class="var"&gt;ctrl&lt;/font&gt;.&lt;font class="var"&gt;value&lt;/font&gt;.&lt;font class="var"&gt;length&lt;/font&gt;);&lt;br /&gt;      &lt;font class="var"&gt;CaretPos&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;Sel&lt;/font&gt;.&lt;font class="var"&gt;text&lt;/font&gt;.&lt;font class="var"&gt;length&lt;/font&gt;;&lt;br /&gt;  }&lt;br /&gt;  &lt;font class="comment"&gt;// Firefox support&lt;/font&gt;&lt;br /&gt;  &lt;font class="oper"&gt;else&lt;/font&gt; &lt;font class="oper"&gt;if&lt;/font&gt; (&lt;font class="var"&gt;ctrl&lt;/font&gt;.&lt;font class="var"&gt;selectionStart&lt;/font&gt; &lt;font class="oper"&gt;|&lt;/font&gt;&lt;font class="oper"&gt;|&lt;/font&gt; &lt;font class="var"&gt;ctrl&lt;/font&gt;.&lt;font class="var"&gt;selectionStart&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt;&lt;font class="oper"&gt;=&lt;/font&gt; '&lt;font class="string"&gt;0&lt;/font&gt;') &lt;font class="var"&gt;CaretPos&lt;/font&gt; &lt;font class="oper"&gt;=&lt;/font&gt; &lt;font class="var"&gt;ctrl&lt;/font&gt;.&lt;font class="var"&gt;selectionStart&lt;/font&gt;;&lt;br /&gt;  &lt;font class="oper"&gt;return&lt;/font&gt; (&lt;font class="var"&gt;CaretPos&lt;/font&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;font class="comment"&gt;/* Babu Kumarasamy */&lt;/font&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-995402256325109424?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/995402256325109424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=995402256325109424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/995402256325109424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/995402256325109424'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/10/numeric-validation-in-javascript.html' title='Numeric Validation in Javascript'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-5351991361279919069</id><published>2009-08-14T15:53:00.004+05:30</published><updated>2011-09-20T11:21:32.442+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Snippets'/><title type='text'>DataTable Creation</title><content type='html'>&lt;pre name="code" class="csharp"&gt;&lt;br /&gt;&lt;br /&gt;    public class DataTableHelper&lt;br /&gt;    {&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// To Create Table Skeleton.&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="ColumnName"&gt;Table Column Name as an Array&lt;/param&gt;/// &lt;param name="DataType"&gt;Column DataType as an Array&lt;/param&gt;/// &lt;param name="TableName"&gt;Name of the DataTable&lt;/param&gt;/// &lt;returns&gt;&lt;/returns&gt;&lt;br /&gt;        public DataTable CreateDataTable(string[] ColumnName, string[] DataType, string TableName)&lt;br /&gt;        {&lt;br /&gt;            // Create DataTable.   &lt;br /&gt;            DataTable table = new DataTable(TableName);&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                for (int i = 0; i &lt; ColumnName.Length; i++)&lt;br /&gt;                {&lt;br /&gt;                    // Create DataColumns and add them to DataTable.   &lt;br /&gt;                    table.Columns.Add(CreateDataColumn(DataType[i].Trim(), ColumnName[i].Trim(), "Column", false, false, false));&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            catch (Exception)&lt;br /&gt;            {&lt;br /&gt;            }&lt;br /&gt;            return table;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// To create the table structure&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="colType"&gt;Column DataType&lt;/param&gt;/// &lt;param name="name"&gt;ColumnName&lt;/param&gt;/// &lt;param name="caption"&gt;Column Caption&lt;/param&gt;/// &lt;param name="autoInc"&gt;Is Auto Increament&lt;/param&gt;/// &lt;param name="readOnly"&gt;IsReadOnly&lt;/param&gt;/// &lt;param name="unique"&gt;&lt;/param&gt;/// &lt;returns&gt;&lt;/returns&gt;&lt;br /&gt;        private DataColumn CreateDataColumn(string colType, string name, string caption, bool autoInc, bool readOnly, bool unique)&lt;br /&gt;        {&lt;br /&gt;            DataColumn column = new DataColumn();&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                column.DataType = System.Type.GetType(colType);&lt;br /&gt;                column.ColumnName = name;&lt;br /&gt;                column.Caption = caption;&lt;br /&gt;                column.AutoIncrement = autoInc;&lt;br /&gt;                column.ReadOnly = readOnly;&lt;br /&gt;                column.Unique = unique;&lt;br /&gt;            }&lt;br /&gt;            catch (Exception)&lt;br /&gt;            {&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            return column;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// Add Row to a DataTable&lt;br /&gt;        /// //How to Call?&lt;br /&gt;        /// //tempDt = oblDataTableHelper.AddRowsToTable(strArrField, tempDt);&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="value"&gt;Column Data as String Array&lt;/param&gt;/// &lt;param name="table"&gt;Name of DataTable to add the Row&lt;/param&gt;/// &lt;returns&gt;&lt;/returns&gt;&lt;br /&gt;        public DataTable AddRowsToTable(string[] value, DataTable table)&lt;br /&gt;        {&lt;br /&gt;            // Generate row with values for each column.   &lt;br /&gt;            DataRow row = table.NewRow();&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                //Add values to the columns&lt;br /&gt;                for (int i = 0; i &lt; value.Length; i++)&lt;br /&gt;                    row[i] = value[i];&lt;br /&gt;&lt;br /&gt;                // Add row to table.   &lt;br /&gt;                table.Rows.Add(row);&lt;br /&gt;            }&lt;br /&gt;            catch (Exception)&lt;br /&gt;            {&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            return table;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// Check whether the table contains Duplicate value for a particular column&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="table"&gt;DataTable&lt;/param&gt;/// &lt;param name="columnName"&gt;Name of Column to Check for Duplicate&lt;/param&gt;/// &lt;returns&gt;&lt;/returns&gt;&lt;br /&gt;        public bool HasDuplicates(DataTable table, string columnName)&lt;br /&gt;        {&lt;br /&gt;            bool IsContainsDuplicates = false;&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                Hashtable hTable = new Hashtable();&lt;br /&gt;&lt;br /&gt;                foreach (DataRow row in table.Rows)&lt;br /&gt;                    if (!hTable.Contains(row[columnName]))&lt;br /&gt;                        hTable.Add(row[columnName], null);&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        IsContainsDuplicates = true;&lt;br /&gt;                        break;&lt;br /&gt;                    }&lt;br /&gt;            }&lt;br /&gt;            catch (Exception)&lt;br /&gt;            {&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            return IsContainsDuplicates;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// Remove rows for certains columns contains duplicate value&lt;br /&gt;        /// //How to Call?&lt;br /&gt;        /// tempDt = oblDataTableHelper.RemoveDuplicateRows(tempDt, new System.Collections.Generic.List&lt;string&gt;(ColumnName));&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="table"&gt;DataTable Instance&lt;/param&gt;/// &lt;param name="keyColumns"&gt;ColumnName as List&lt;t&gt;&lt;/param&gt;/// &lt;returns&gt;&lt;/returns&gt;&lt;br /&gt;        public DataTable RemoveDuplicateRows(DataTable table, List&lt;string&gt; keyColumns)&lt;br /&gt;        {&lt;br /&gt;            //DataTable results = myDataTable.AsEnumerable().Distinct().CopyToDataTable();&lt;br /&gt;&lt;br /&gt;            DataTable duplicateTable = table.Clone();&lt;br /&gt;            DataColumn[] primaryKey = new DataColumn[duplicateTable.Columns.Count];&lt;br /&gt;            duplicateTable.Columns.CopyTo(primaryKey, 0);&lt;br /&gt;            duplicateTable.PrimaryKey = primaryKey;&lt;br /&gt;&lt;br /&gt;            DataRow[] dataRows = new DataRow[table.Rows.Count];&lt;br /&gt;            table.Rows.CopyTo(dataRows, 0);&lt;br /&gt;            foreach (DataRow dataRow in dataRows)&lt;br /&gt;                if (duplicateTable.Rows.Contains(dataRow.ItemArray))&lt;br /&gt;                    table.Rows.Remove(dataRow);&lt;br /&gt;                else&lt;br /&gt;                    duplicateTable.Rows.Add(dataRow.ItemArray);&lt;br /&gt;&lt;br /&gt;            return table;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        //tempDt = oblDataTableHelper.RemoveDuplicateRows(tempDt, ColumnName);&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// Remove rows for certains columns contains duplicate value&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        /// &lt;param name="dTable"&gt;DataTable Instance&lt;/param&gt;/// &lt;param name="strColumns"&gt;ColumnName as Array&lt;/param&gt;/// &lt;returns&gt;&lt;/returns&gt;&lt;br /&gt;        public DataTable RemoveDuplicateRows(DataTable dTable, string[] strColumns)&lt;br /&gt;        {&lt;br /&gt;            // create a dv from the source dt &lt;br /&gt;            DataView dv = new DataView(dTable);&lt;br /&gt;            // set the output columns array of the destination dt &lt;br /&gt;            // true = yes, i need distinct values. &lt;br /&gt;            return dv.ToTable(true, strColumns);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;b&gt;Calling The Function&lt;br /&gt;&lt;/b&gt;&lt;pre name="code" class="csharp"&gt;&lt;br /&gt;DataTableHelper oblDataTableHelper = new DataTableHelper();&lt;br /&gt;string[] ColumnName = new string[] { "Column1", "Column2", "Column3", "Column4" };&lt;br /&gt;string[] DataType = new string[] { "System.String", "System.String", "System.String", "System.String" };&lt;br /&gt;System.Data.DataTable tempDt = null;&lt;br /&gt;tempDt = oblDataTableHelper.CreateDataTable(ColumnName, DataType, "DataTableName");&lt;br /&gt;&lt;/pre&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/568f20ca-d390-4dae-adaa-afd19bb4b444"&gt;Path that gives me the idea&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-5351991361279919069?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/5351991361279919069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=5351991361279919069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5351991361279919069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/5351991361279919069'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/08/datatable-creation.html' title='DataTable Creation'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-2132079486551486675</id><published>2009-08-10T13:38:00.000+05:30</published><updated>2009-10-09T17:33:54.348+05:30</updated><title type='text'>Failed to load viewstate.  The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during</title><content type='html'>&lt;pre style="color: black;"&gt;Failed to load viewstate.&lt;br /&gt;match the control tree that was used to save viewstate&lt;br /&gt;during the previous request. For example, when adding&lt;br /&gt;controls dynamically, the controls added during a&lt;br /&gt;post-back must match the type and position of the&lt;br /&gt;controls added during the initial request.&lt;br /&gt;&lt;br /&gt;This occurs in when press the command field(Edit button) &lt;br /&gt;in the gridview.&lt;br /&gt;&lt;br /&gt;To solve we have to bind the GridView once again.&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="csharp"&gt; &lt;br /&gt;protected void GridView1_RowEditing(object sender, &lt;br /&gt;System.Web.UI.WebControls.GridViewEditEventArgs e)&lt;br /&gt;{&lt;br /&gt;    GridView1.EditIndex = e.NewEditIndex;&lt;br /&gt;    BindGrid();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-2132079486551486675?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/2132079486551486675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=2132079486551486675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2132079486551486675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/2132079486551486675'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/08/failed-to-load-viewstate-control-tree.html' title='Failed to load viewstate.  The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-6330680116369554799</id><published>2009-07-30T18:43:00.001+05:30</published><updated>2009-10-09T17:35:19.458+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conversion'/><title type='text'>Image to Byte Array and Byte Array to Image</title><content type='html'>http://www.codeproject.com/KB/recipes/ImageConverter.aspx&lt;br /&gt;&lt;pre name="code" class="csharp"&gt; &lt;br /&gt;public byte[] imageToByteArray(System.Drawing.Image imageIn)&lt;br /&gt;{&lt;br /&gt; MemoryStream ms = new MemoryStream();&lt;br /&gt; imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);&lt;br /&gt; return  ms.ToArray();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Image byteArrayToImage(byte[] byteArrayIn)&lt;br /&gt;{&lt;br /&gt;     MemoryStream ms = new MemoryStream(byteArrayIn);&lt;br /&gt;     Image returnImage = Image.FromStream(ms);&lt;br /&gt;     return returnImage;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-6330680116369554799?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/6330680116369554799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=6330680116369554799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6330680116369554799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/6330680116369554799'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/07/image-to-byte-array-and-byte-array-to.html' title='Image to Byte Array and Byte Array to Image'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-3894543253336074804</id><published>2009-07-30T17:19:00.000+05:30</published><updated>2009-07-30T17:23:01.104+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IhttpHandlers IhttpModule'/><title type='text'>HttpModule Execution Sequence</title><content type='html'>An application executes events that are handled by modules or user code that is defined in the Global.asax file in the following sequence:&lt;br /&gt;&lt;br /&gt;  1. BeginRequest&lt;br /&gt;  2. AuthenticateRequest&lt;br /&gt;  3. PostAuthenticateRequest&lt;br /&gt;  4. AuthorizeRequest&lt;br /&gt;  5. PostAuthorizeRequest&lt;br /&gt;  6. ResolveRequestCache&lt;br /&gt;  7. PostResolveRequestCache&lt;br /&gt;&lt;br /&gt;     After the PostResolveRequestCache event and before the PostMapRequestHandler event, an event handler (a page corresponding to the request URL) is created.&lt;br /&gt;&lt;br /&gt;8.  PostMapRequestHandler&lt;br /&gt;  9.   AcquireRequestState&lt;br /&gt; 10. PostAcquireRequestState&lt;br /&gt; 11. PreRequestHandlerExecute&lt;br /&gt;&lt;br /&gt;     The event handler is executed.&lt;br /&gt;&lt;br /&gt;12. PotRequestHandlerExecute&lt;br /&gt; 13. ReleaseRequestState&lt;br /&gt; 14.  PostReleaseRequestState&lt;br /&gt;&lt;br /&gt;     After the PostReleaseRequestState event, response filters, if any, filter the output.&lt;br /&gt;&lt;br /&gt;15. UpdateRequestCache&lt;br /&gt; 16. PostUpdateRequestCache&lt;br /&gt; 17. EndRequest&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-3894543253336074804?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/3894543253336074804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=3894543253336074804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3894543253336074804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/3894543253336074804'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/07/httpmodule-execution-sequence.html' title='HttpModule Execution Sequence'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-4814443268558337788</id><published>2009-07-29T18:52:00.000+05:30</published><updated>2009-10-09T17:36:16.063+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conversion'/><title type='text'>byte array to bitmap</title><content type='html'>http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/e57f7731-c703-4c17-b1a2-32b155f9b745&lt;br /&gt;&lt;pre name="code" class="csharp"&gt; &lt;br /&gt;    public static Bitmap BytesToBitmap(byte[] byteArray)&lt;br /&gt;   {&lt;br /&gt;       using (MemoryStream ms = new MemoryStream(byteArray))&lt;br /&gt;       {&lt;br /&gt;           Bitmap img = (Bitmap)Image.FromStream(ms);&lt;br /&gt;           return img;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap));&lt;br /&gt;&lt;br /&gt;Bitmap bitmap1 = (Bitmap)tc.ConvertFrom(byteArray);&lt;br /&gt;&lt;br /&gt;Or,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ImageConverter ic = new ImageConverter();&lt;br /&gt;&lt;br /&gt;Image img = (Image)ic.ConvertFrom(byteArray);&lt;br /&gt;&lt;br /&gt;Bitmap bitmap1 = new Bitmap(img);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-4814443268558337788?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/4814443268558337788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=4814443268558337788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/4814443268558337788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/4814443268558337788'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/07/byte-array-to-bitmap.html' title='byte array to bitmap'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-8628563512643348552</id><published>2009-07-24T13:56:00.000+05:30</published><updated>2009-07-24T13:57:05.764+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Short Cut'/><title type='text'>Tips</title><content type='html'>Tip #1 How to behold the power of incremental search&lt;br /&gt;&lt;br /&gt;Command: Edit.IncrementalSearch&lt;br /&gt;&lt;br /&gt;Shortcut: Ctrl+i&lt;br /&gt;&lt;br /&gt;Tip #2 Ctrl+F3 to search for currently-selected word&lt;br /&gt;&lt;br /&gt;Command: Edit.FindNextSelected&lt;br /&gt;&lt;br /&gt;Tip #3 F3 to search for last thing you searched for&lt;br /&gt;&lt;br /&gt;Command: Edit.FindNext&lt;br /&gt;&lt;br /&gt;Tip #4 Customize what files to find in&lt;br /&gt;&lt;br /&gt;Find In Files – Look in – Choose Search Folders&lt;br /&gt;&lt;br /&gt;Tip #5 You can use a reg hack for customizing search results&lt;br /&gt;&lt;br /&gt;HKCU\Software\Microsoft\VisualStudio\9.0\Find String Find=$f$e($l,$c):$t\r\n&lt;br /&gt;&lt;br /&gt;Editing Tips&lt;br /&gt;&lt;br /&gt;Tip #6 How not to accidentally copy a blank line&lt;br /&gt;&lt;br /&gt;Tools – Options – Text Editor – All Languages – General, Uncheck Apply cut or copy to blank lines&lt;br /&gt;&lt;br /&gt;Tip #7 How to cycle through the Clipboard ring&lt;br /&gt;&lt;br /&gt;Command: Edit.CycleClipboardRing&lt;br /&gt;&lt;br /&gt;Shortcut: Ctrl+Shift+v&lt;br /&gt;&lt;br /&gt;Tip #8 How to use box/column selection in the editor&lt;br /&gt;&lt;br /&gt;Command: Edit.LineUpColumnExtend, Edit.LineDownColumnExtend, Edit.CharRightColumnExtend, Edit.CharLeftColumnExtend&lt;br /&gt;&lt;br /&gt;Shortcut: Shift+Alt+Arrow&lt;br /&gt;&lt;br /&gt;Tip #9 You can copy a file’s full path / open windows explorer from the file tab channel&lt;br /&gt;&lt;br /&gt;Command: File.CopyFullPath&lt;br /&gt;&lt;br /&gt;Tip #10 Drag and drop code onto the toolbox’s general tab&lt;br /&gt;&lt;br /&gt;Shortcut: Ctrl+Alt+x&lt;br /&gt;&lt;br /&gt;Tip #11 You can use Ctrl+. to show a smart tag&lt;br /&gt;&lt;br /&gt;Command: View.ShowSmartTag&lt;br /&gt;&lt;br /&gt;Tip #12 You can insert a snippet by pressing Tab Tab&lt;br /&gt;&lt;br /&gt;Type in snippet shortcut, then press Tab Tab&lt;br /&gt;&lt;br /&gt;Customizing Tips&lt;br /&gt;&lt;br /&gt;Tip #13 You can create temp or throw away projects&lt;br /&gt;&lt;br /&gt;Tools - Options - Projects and Solutions - General, uncheck Save new projects when created&lt;br /&gt;&lt;br /&gt;Tip #14 Change text editor font size via keyboard (Accessibility macros)&lt;br /&gt;&lt;br /&gt;Command: Macros.Samples.Accessibility.DecreaseTextEditorFontSize&lt;br /&gt;&lt;br /&gt;Command: Macros.Samples.Accessibility.IncreaseTextEditorFontSize&lt;br /&gt;&lt;br /&gt;Tip #15 How to open a file without any UI&lt;br /&gt;&lt;br /&gt;Ctrl+/ (or whatever Tools.GoToCommandLine is bound to)&lt;br /&gt;&lt;br /&gt;alias fo file.openfile&lt;br /&gt;&lt;br /&gt;fo &lt;filename&gt;&lt;br /&gt;&lt;br /&gt;Tip #16 Guidelines in the editor registry key hack&lt;br /&gt;&lt;br /&gt;HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Text Editor  String RBG(128,0,0) 5, 20&lt;br /&gt;&lt;br /&gt;Tip #17 You can create a macro for your import/export settings&lt;br /&gt;&lt;br /&gt;Tools – customize – commands – macros – drag and drop macro to toolbar&lt;br /&gt;&lt;br /&gt;Tip #18 How to not show the start page (or have the last loaded solution open)&lt;br /&gt;&lt;br /&gt;Tools - Options - Environment - Startup, At Startup&lt;br /&gt;&lt;br /&gt;Tip #19 File tab channel registry hack&lt;br /&gt;&lt;br /&gt;HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0 key, you can create a DWORD UseMRUDocOrdering = 1&lt;br /&gt;&lt;br /&gt;Tip #20 How to show Misc Files Project to keep your files around&lt;br /&gt;&lt;br /&gt;tools - options - environment – documents, show miscellaneous files in Solution Explorer&lt;br /&gt;&lt;br /&gt;Tip #21 Edit project file from within IDE (unload project)&lt;br /&gt;&lt;br /&gt;Unload project, edit project, reload project&lt;br /&gt;&lt;br /&gt;Debugging Tips&lt;br /&gt;&lt;br /&gt;Tip #22 You can use tracepoints to log stuff in your code&lt;br /&gt;&lt;br /&gt;Right-click in indicator margin, select breakpoints, select Insert Tracepoint&lt;br /&gt;&lt;br /&gt;Tip #23 How to get the find source dialog back&lt;br /&gt;&lt;br /&gt;Solution Properties, under Common Properties - Debug Source Files, Delete Do no look for these source files edit box contents&lt;br /&gt;&lt;br /&gt;Tip #24 You can disable the exception assistant&lt;br /&gt;&lt;br /&gt;Tools – Options – Debugging – General, uncheck Enable the Exception Assistant&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3600004536514468072-8628563512643348552?l=asp-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://asp-tech.blogspot.com/feeds/8628563512643348552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3600004536514468072&amp;postID=8628563512643348552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8628563512643348552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3600004536514468072/posts/default/8628563512643348552'/><link rel='alternate' type='text/html' href='http://asp-tech.blogspot.com/2009/07/tips.html' title='Tips'/><author><name>Babu Kumararasamy</name><uri>http://www.blogger.com/profile/02411028802487146668</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_8memvxVR_EQ/SZ6DRZgz3tI/AAAAAAAAAFY/Lw3QEqSIDRM/S220/Never+Give+UP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3600004536514468072.post-5912650204612391238</id><published>2009-07-24T13:55:00.000+05:30</published><updated>2009-10-09T17:37:40.894+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='DatabindExpressions'/><title type='text'>DatabindExpressions</title><content type='html'>&lt;a style = "color:green" href = "http://www.odetocode.com/Articles/278.aspx"&gt;Digging Into Data Binding Expressions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;T
