In this article I will explain with an example, how to fill (populate) DataSet using SqlDataAdapter in C# and VB.Net.
 
Database
For this article I am making use of the Microsoft’s Northwind Database. Download and install instructions are provided in the link below.
 
Adding a DataGridView to the Windows Form
Firstly you need to add a DataGridView control to the Windows Form from the Visual Studio ToolBox as shown below.
Fill (Populate) DataSet using SqlDataAdapter in C# and VB.Net
 
Namespaces
You will need to import the following namespaces.
C#
using System.Data;
using System.Data.SqlClient;
 
VB.Net
Imports System.Data
Imports System.Data.SqlClient
 
 
Simple binding of data to DataGridView from Database using DataSet
Below is the simple and straight forward way of binding data to DataGridView control using DataSet.
In the below code, the DataSet is populated from Customers Table of Northwind Database and then it is set as DataSource to the DataGridView control.
In this approach all columns returned by the Select Query will be displayed in the DataGridView.
C#
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        BindGrid();
    }
 
    private void BindGrid()
    {
        string constring = @"Data Source=.\SQL2005;Initial Catalog=Northwind;User id = sa;password=pass@123";
        using (SqlConnection con = new SqlConnection(constring))
        {
            using (SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", con))
            {
                cmd.CommandType = CommandType.Text;
                using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                {
                    using (DataSet ds = new DataSet())
                    {
                        sda.Fill(ds);
                        dataGridView1.DataSource = ds.Tables[0];
                    }
                }
            }
        }
    }
}
 
VB.Net
Public Class Form1
    Public Sub New()
        InitializeComponent()
        BindGrid()
    End Sub
 
    Private Sub BindGrid()
        Dim constring As String = "Data Source=.\SQL2005;Initial Catalog=Northwind;User id = sa;password=pass@123"
        Using con As New SqlConnection(constring)
            Using cmd As New SqlCommand("SELECT * FROM Customers", con)
                cmd.CommandType = CommandType.Text
                Using sda As New SqlDataAdapter(cmd)
                    Using ds As New DataSet()
                        sda.Fill(ds)
                        dataGridView1.DataSource = ds.Tables(0)
                    End Using
                End Using
            End Using
        End Using
    End Sub
End Class
 
Fill (Populate) DataSet using SqlDataAdapter in C# and VB.Net
 
Fill (Populate) DataSet using SqlDataAdapter in C# and VB.Net
In the below code snippet, first a connection to the database is established using the SqlConnection class and then the SqlCommand is initialized with the SQL to be executed.
Finally SqlDataAdapter object is initialized with the SqlCommand and using the Fill function the DataSet is populated with the records returned from the executed SQL statement.
C#
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        BindGrid();
    }
 
    private void BindGrid()
    {
        string constring = @"Data Source=.\SQL2005;Initial Catalog=Northwind;User id = sa;password=pass@123";
        using (SqlConnection con = new SqlConnection(constring))
        {
            using (SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", con))
            {
                cmd.CommandType = CommandType.Text;
                using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                {
                    using (DataSet ds = new DataSet())
                    {
                        sda.Fill(ds);
 
                        //Set AutoGenerateColumns False
                        dataGridView1.AutoGenerateColumns = false;
 
                        //Set Columns Count
                        dataGridView1.ColumnCount = 3;
 
                        //Add Columns
                        dataGridView1.Columns[0].Name = "CustomerId";
                        dataGridView1.Columns[0].HeaderText = "Customer Id";
                        dataGridView1.Columns[0].DataPropertyName = "CustomerID";
 
                        dataGridView1.Columns[1].HeaderText = "Contact Name";
                        dataGridView1.Columns[1].Name = "Name";
                        dataGridView1.Columns[1].DataPropertyName = "ContactName";
 
                        dataGridView1.Columns[2].Name = "Country";
                        dataGridView1.Columns[2].HeaderText = "Country";
                        dataGridView1.Columns[2].DataPropertyName = "Country";
                        dataGridView1.DataSource = ds.Tables[0];
                    }
                }
            }
        }
    }
}
 
VB.Net
Public Class Form1
    Public Sub New()
        InitializeComponent()
        BindGrid()
    End Sub
 
    Private Sub BindGrid()
        Dim constring As String = "Data Source=.\SQL2005;Initial Catalog=Northwind;User id = sa;password=pass@123"
        Using con As New SqlConnection(constring)
            Using cmd As New SqlCommand("SELECT * FROM Customers", con)
                cmd.CommandType = CommandType.Text
                Using sda As New SqlDataAdapter(cmd)
                    Using ds As New DataSet()
                        sda.Fill(ds)
 
                        'Set AutoGenerateColumns False
                        dataGridView1.AutoGenerateColumns = False
 
                        'Set Columns Count
                        dataGridView1.ColumnCount = 3
 
                        'Add Columns
                        dataGridView1.Columns(0).Name = "CustomerId"
                        dataGridView1.Columns(0).HeaderText = "Customer Id"
                        dataGridView1.Columns(0).DataPropertyName = "CustomerID"
 
                        dataGridView1.Columns(1).Name = "Name"
                        dataGridView1.Columns(1).HeaderText = "Contact Name"
                        dataGridView1.Columns(1).DataPropertyName = "ContactName"
 
                        dataGridView1.Columns(2).Name = "Country"
                        dataGridView1.Columns(2).HeaderText = "Country"
                        dataGridView1.Columns(2).DataPropertyName = "Country"
                        dataGridView1.DataSource = ds.Tables(0)
                    End Using
                End Using
            End Using
        End Using
    End Sub
End Class
 
Fill (Populate) DataSet using SqlDataAdapter in C# and VB.Net
 
Downloads