How to add relation between tables in a dataset

In this blog we will know how to add relation between tables in a dataset.

 

 

App.xml file

 

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<appSettings>

                        <add key="dsn" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\EMP.mdb" />

            </appSettings>

</configuration>

 

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;

using System.Data.OleDb;

namespace Data_relation

{

    public partial class Form1 : Form

    {

        string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["dsn"];

        OleDbCommand com;

        OleDbDataAdapter oda;

        DataSet ds;

        DataRelation dr;

        string str;

        public Form1()

        {

            InitializeComponent();

        }

 

        private void btndisplay_Click(object sender, EventArgs e)

        {

            OleDbConnection con = new OleDbConnection(ConnectionString);

            con.Open();

            str = "select * from product";

            com = new OleDbCommand(str, con);

            oda = new OleDbDataAdapter(com);

            ds = new DataSet();

            oda.Fill(ds, "product");

 

            str = "select * from customer";

            com = new OleDbCommand(str, con);

            oda = new OleDbDataAdapter(com);

            oda.Fill(ds, "customer");

            con.Close();

 

            DataColumn dc1 = new DataColumn();

            DataColumn dc2 = new DataColumn();

            dc1 = ds.Tables["product"].Columns["prodid"];

            dc2 = ds.Tables["customer"].Columns["prodid"];

            dr = new DataRelation("Customers taking this product are", dc1, dc2);

            ds.Relations.Add(dr);

            dataGrid1.DataSource = ds;

            dataGrid1.DataMember = "product";

 

        }

 

    }

}