How to Asp.Net Dynamic Dataset

In ADO.NET, you have the flexibility to create DataTable objects dynamically and add them to an existing DataSet. A DataTable, defined in the System.Data namespace, represents a single table of memory-resident data. It provides a structure to hold and manipulate data in a tabular format.

VB.Net
Dim dt As New DataTable dataset.Tables.Add(dt)
C#
DataTable dt = new DataTable(); dataset.Tables.Add(dt);

A DataTable is defined in the System.Data namespace and represents a single table of memory-resident data. You can set constraint information for a DataTable by using the PrimaryKey and Unique properties.

The following ASP.NET program create a DataTable dynamically and add it into a Dataset.

Default.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> <br /> <asp:ListBox ID="ListBox1" runat="server"></asp:ListBox> </div> </form> </body> </html>
Full Source | C#
using System; using System.Data ; using System.Data.SqlClient ; public partial class _Default : System.Web.UI.Page { protected void Button1_Click(object sender, EventArgs e) { DataSet ds = new DataSet(); DataTable dt; DataRow dr; DataColumn idCoulumn; DataColumn nameCoulumn; int i = 0; dt = new DataTable(); idCoulumn = new DataColumn("ID", Type.GetType("System.Int32")); nameCoulumn = new DataColumn("Name", Type.GetType("System.String")); dt.Columns.Add(idCoulumn); dt.Columns.Add(nameCoulumn); dr = dt.NewRow(); dr["ID"] = 1; dr["Name"] = "Name1"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["ID"] = 2; dr["Name"] = "Name2"; dt.Rows.Add(dr); ds.Tables.Add(dt); for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) { ListBox1.Items.Add (ds.Tables[0].Rows[i].ItemArray[0] + " -- " + ds.Tables[0].Rows[i].ItemArray[1]); } } }
Full Source | VB.NET
Imports System.Data Imports System.Data.SqlClient Partial Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim ds As New DataSet Dim dt As DataTable Dim dr As DataRow Dim idCoulumn As DataColumn Dim nameCoulumn As DataColumn Dim i As Integer dt = New DataTable() idCoulumn = New DataColumn("ID", Type.GetType("System.Int32")) nameCoulumn = New DataColumn("Name", Type.GetType("System.String")) dt.Columns.Add(idCoulumn) dt.Columns.Add(nameCoulumn) dr = dt.NewRow() dr("ID") = 1 dr("Name") = "Name1" dt.Rows.Add(dr) dr = dt.NewRow() dr("ID") = 2 dr("Name") = "Name2" dt.Rows.Add(dr) ds.Tables.Add(dt) For i = 0 To ds.Tables(0).Rows.Count - 1 ListBox1.Items.Add(ds.Tables(0).Rows(i).Item(0) & " -- " & ds.Tables(0).Rows(i).Item(1)) Next i End Sub End Class

Conclusion

ADO.NET allows you to create DataTable objects dynamically and add them to an existing DataSet. The DataTable represents a single table of data and can be customized by adding columns and setting constraints. This provides a powerful mechanism for managing and manipulating data in a tabular format within your application.