adonet
  1. adonet-dataset

DataSet - (ADO.NET Connection)

A DataSet is a typed, disconnected set of objects that represent data from multiple tables in a database. It is a part of the ADO.NET framework and provides a means of working with data retrieved from a database. A DataSet can include multiple DataTable objects, each of which represents data from a single table.

Syntax

To create a DataSet, you need to first create a connection to the database using an ADO.NET provider (such as the SqlClient provider for SQL Server). Once you've established a connection, you can use a DataAdapter object to fill a DataSet with data from one or more tables.

string connectionString = "Data Source=(local);Initial Catalog=MyDatabase;Integrated Security=True";
SqlConnection connection = new SqlConnection(connectionString);

string query = "SELECT * FROM Customers";
SqlDataAdapter adapter = new SqlDataAdapter(query, connection);

DataSet dataSet = new DataSet();
adapter.Fill(dataSet, "Customers");

Example

Here's an example of a console application that fills a DataSet with data from a SQL Server database and then loops through the data to display it in the console:

using System;
using System.Data;
using System.Data.SqlClient;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                string connectionString = "Data Source=(local);Initial Catalog=MyDatabase;Integrated Security=True";
                SqlConnection connection = new SqlConnection(connectionString);

                string query = "SELECT * FROM Customers";
                SqlDataAdapter adapter = new SqlDataAdapter(query, connection);

                DataSet dataSet = new DataSet();
                adapter.Fill(dataSet, "Customers");

                DataTable table = dataSet.Tables["Customers"];

                foreach (DataRow row in table.Rows)
                {
                    Console.WriteLine("{0}, {1}, {2}", row["LastName"], row["FirstName"], row["EmailAddress"]);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.ReadLine();
        }
    }
}

Output

The output of this console application is a list of customer information retrieved from the database:

Smith, John, john.smith@example.com
Doe, Jane, jane.doe@example.com
...

Explanation

A DataSet is a disconnected object model that represents a set of database tables that have been retrieved from a database. It provides a means of working with data in memory without a live connection to the database. A DataSet is typically populated using a DataAdapter object, which serves as a bridge between the database and the DataSet.

Use

A DataSet is useful when you need to work with data from multiple tables or multiple databases, or when you need to work with data in memory without a live connection to the database. Some common uses of a DataSet include:

  • Displaying data in a UI control, such as a data grid or a chart
  • Performing complex data analysis, such as data mining or statistical analysis
  • Exporting data to a file, such as an Excel spreadsheet or a CSV file

Important Points

  • A DataSet represents data from multiple tables in memory.
  • A DataSet is populated using a DataAdapter, which serves as a bridge between the database and the DataSet.
  • A DataSet can include one or more DataTable objects, which represent data from a single table.
  • Data in a DataSet can be modified and saved back to the database using a DataAdapter.
  • A DataSet is disconnected, meaning that changes to the data do not affect the database until they are explicitly saved.

Summary

In this page, we discussed the basics of DataSet in ADO.NET. We learned about its syntax, example, output, explanation, use, and important points. A DataSet is a useful tool for working with data in a disconnected environment or when working with multiple tables or multiple databases. It provides flexibility and performance when working with large amounts of data.

Published on: