In this article I will explain with an example, how to display data from database in HTML Table in ASP.Net using C# and VB.Net.
	
		 
	
		 
	
		Database
	
		I have made use of the following table Customers with the schema as follows.
	![Display data from database in HTML table in ASP.Net]() 
	
		 
	
		I have already inserted few records in the table.
	![Display data from database in HTML table in ASP.Net]() 
	
		 
	
		
			Note: You can download the database table SQL by clicking the download link below.
			          Download SQL file 
	 
	
		 
	
		 
	
		HTML Markup
	
		The HTML Markup consists of a PlaceHolder within which the HTML Table will be displayed.
	
		
			<asp:PlaceHolder ID = "PlaceHolder1" runat="server" />
	 
	
		 
	
		 
	
		Namespaces
	
		You will need to import the following namespaces.
	
		C#
	
		
			using System.Data;
		
			using System.Text;
		
			using System.Configuration;
		
			using System.Data.SqlClient;
	 
	
		 
	
		VB.Net
	
		
			Imports System.Data
		
			Imports System.Text
		
			Imports System.Configuration
		
			Imports System.Data.SqlClient
	 
	
		 
	
		 
	
		Displaying data from database in HTML Table using C# and VB.Net
	
		Inside the Page Load event, first the DataTable is populated with the records from the Customers table.
	
		Then using the StringBuilder class, a string consisting of an HTML Table is generated by iterating through the columns and the rows of the DataTable.
	
		Finally, the HTML string is displayed on the page by adding the Literal control to the PlaceHolder.
	
		C#
	
		
			protected void Page_Load(object sender, EventArgs e)
		
			{
		
			    if (!this.IsPostBack)
		
			    {
		
			        //Populating a DataTable from database.
		
			        DataTable dt = this.GetData();
		
			 
		
			        //Building an HTML string.
		
			        StringBuilder html = new StringBuilder();
		
			 
		
			        //Table start.
		
			        html.Append("<table border = '1'>");
		
			 
		
			        //Building the Header row.
		
			        html.Append("<tr>");
		
			        foreach (DataColumn column in dt.Columns)
		
			        {
		
			            html.Append("<th>");
		
			            html.Append(column.ColumnName);
		
			            html.Append("</th>");
		
			        }
		
			        html.Append("</tr>");
		
			 
		
			        //Building the Data rows.
		
			        foreach (DataRow row in dt.Rows)
		
			        {
		
			            html.Append("<tr>");
		
			            foreach (DataColumn column in dt.Columns)
		
			            {
		
			                html.Append("<td>");
		
			                html.Append(row[column.ColumnName]);
		
			                html.Append("</td>");
		
			            }
		
			            html.Append("</tr>");
		
			        }
		
			 
		
			        //Table end.
		
			        html.Append("</table>");
		
			 
		
			        //Append the HTML string to Placeholder.
		
			        PlaceHolder1.Controls.Add(new Literal { Text = html.ToString() });
		
			    }
		
			}
		
			 
		
			private DataTable GetData()
		
			{
		
			    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
		
			    using (SqlConnection con = new SqlConnection(constr))
		
			    {
		
			        using (SqlCommand cmd = new SqlCommand("SELECT CustomerId, Name, Country FROM Customers"))
		
			        {
		
			            using (SqlDataAdapter sda = new SqlDataAdapter())
		
			            {
		
			                cmd.Connection = con;
		
			                sda.SelectCommand = cmd;
		
			                using (DataTable dt = new DataTable())
		
			                {
		
			                    sda.Fill(dt);
		
			                    return dt;
		
			                }
		
			            }
		
			        }
		
			    }
		
			}
	 
	
		 
	
		VB.Net
	
		
			Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
		
			    If Not Me.IsPostBack Then
		
			        'Populating a DataTable from database.
		
			        Dim dt As DataTable = Me.GetData()
		
			 
		
			        'Building an HTML string.
		
			        Dim html As New StringBuilder()
		
			 
		
			        'Table start.
		
			        html.Append("<table border = '1'>")
		
			 
		
			        'Building the Header row.
		
			        html.Append("<tr>")
		
			        For Each column As DataColumn In dt.Columns
		
			            html.Append("<th>")
		
			            html.Append(column.ColumnName)
		
			            html.Append("</th>")
		
			        Next
		
			        html.Append("</tr>")
		
			 
		
			        'Building the Data rows.
		
			        For Each row As DataRow In dt.Rows
		
			            html.Append("<tr>")
		
			            For Each column As DataColumn In dt.Columns
		
			                html.Append("<td>")
		
			                html.Append(row(column.ColumnName))
		
			                html.Append("</td>")
		
			            Next
		
			            html.Append("</tr>")
		
			        Next
		
			 
		
			        'Table end.
		
			        html.Append("</table>")
		
			 
		
			        'Append the HTML string to Placeholder.
		
			       PlaceHolder1.Controls.Add(New Literal() With { _
		
			          .Text = html.ToString() _
		
			        })
		
			    End If
		
			End Sub
		
			 
		
			Private Function GetData() As DataTable
		
			    Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
		
			    Using con As New SqlConnection(constr)
		
			        Using cmd As New SqlCommand("SELECT CustomerId, Name, Country FROM Customers")
		
			            Using sda As New SqlDataAdapter()
		
			                cmd.Connection = con
		
			                sda.SelectCommand = cmd
		
			                Using dt As New DataTable()
		
			                    sda.Fill(dt)
		
			                    Return dt
		
			                End Using
		
			            End Using
		
			        End Using
		
			    End Using
		
			End Function
	 
	
		 
	
		 
	
		Screenshots
	
		HTML table as displayed on the page
	![Display data from database in HTML table in ASP.Net]() 
	
		 
	
		HTML Table as seen on the source of the page
	![Display data from database in HTML table in ASP.Net]() 
	
		 
	
		 
	
		Demo
	
	
		 
	
		 
	
		Downloads