SIGN UP MEMBER LOGIN:    
ARTICLE

Working with DataTable and its Methods in ADO.NET

Posted by Alok Pandey Articles | ADO.NET in C# December 23, 2011
In this article, you will learn about the DataTable class and its methods.
Reader Level:

Introduction

A DataTable is a class of Disconnected architecture in the .NET Framework. It is found in the System.Data namespace and represents a single table. We can create a table and can add columns and rows of that table. Now, we will create an window application and use the DataTable class.

Create a windows application > create a dataGridView control and write the following code on the form load event.

using System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
 
 

namespace
datatable
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        DataTable dt;
        private void Form1_Load(object sender, EventArgs e)
        {
            //Adding Columns
            dt = new DataTable();
            dt.Columns.Add("ID", typeof(int));
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("Department",System.Type.GetType("System.String"));
            dt.Columns.Add("City", typeof(string));
            //Adding Rows
            dt.Rows.Add(111, "Alok", "IT", "Delhi");
            dt.Rows.Add(222, "Satish", "IT", "Jhansi");
            dt.Rows.Add(333, "Amitabh", "Management", "Noida");           
        } 
       
    }
}
 

Run the application.
Output



It is a simple example for creating a datatable and adding column and value to its row. Now we work with its different method.

Working with it's methods


AcceptChanges()

This method saves changes which made with records in a Datatable.
Take another dataGridView control and a Button. Add below code.

       
private void btnacceptchanges_Click(object sender, EventArgs e)
        {
            dt.AcceptChanges();
            dataGridView2.DataSource = dt;
        }

Run the application. Make some changes in rows value. I have changed department name as "cs" for first row and added a new row at last.

Output



Click the
"AcceptChanges" button. Second dataGridView will show updated record.



Clear()

This method clears (removes) all data from datatable. Take a button and write the following code on click event.

       
private void btnclear_Click(object sender, EventArgs e)
        {
            dt.Clear();
        }

Output
 

Click the "Clear" button. It will clear all the data.

Output


Clone()

The clone method copy the structure of Datatable. Means it copy only schema not full records of Datatable.
Take another dataGridView control and a Button. Add below code.

       
private void btnclone_Click(object sender, EventArgs e)
        {
            DataTable dt1 = dt.Clone();
            dataGridView2.DataSource = dt1;
        }

Output



Click the "Clone" button.

Output



Copy()

The copy method copy the whole records with structure of Datatable. Take another dataGridView control and a Button. Write the following code on button click.

       
private void btncopy_Click(object sender, EventArgs e)
        {
            DataTable dt1 = dt.Copy();
            dataGridView2.DataSource = dt1;
        }

Output



Click the "copy" button. It will copy all the data with structure of datatable into another datatable and show records in dataGridView.

Output



GetChanges()

This method does copy of all records of datatable with changes made with record. Add a button and dataGridView and
write the following code on button click.

       
private void btnGetChanges_Click(object sender, EventArgs e)
        {
           
dt.GetChanges();
            dataGridView2.DataSource = dt;

        }

Output

I have changed some column value like department as "CS" of first row and city as "Varanasi" for last row.

 

Click the "GetChanges" button. It will show all record.
Output



NewRow()

The NewRow method creates a new row with same schema of datatable. Take a button > Set it's Text property to "NewRow" and write the following code.

        private void btnnewrow_Click(object sender, EventArgs e)
        {
            DataRow dr = dt.NewRow();
            dr["ID"] = 444;
            dr["Name"] = "Pramod";
            dr["Department"]="CS";
            dr["City"] = "Allahabad";
            //Add the row to datatable
            dt.Rows.Add(dr);
        }

Run the application.

Output



Click the "NewRow" button. It will add new row to datatable.

Output

 

Login to add your contents and source code to this article
share this article :
post comment
 

Thank you sir.

Posted by Alok Pandey Dec 27, 2011

Thanks, Vijay.

Posted by Alok Pandey Dec 27, 2011

This a good article. Basic but useful.

Posted by Mahesh Chand Dec 27, 2011

Good One!!!

Posted by Vijay Prativadi Dec 27, 2011
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor
PREMIUM SPONSORS
  • ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
    Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites - Click Here!
Become a Sponsor