Hi All,
I am trying to establish the relationship between two tables but its showing the following error
Object reference not set to an instance of an object.
the code is as followsDataRelation oDR = new DataRelation("Dept_Emp", oDS.Tables["tbl_Department"].Columns["DNo"], oDS.Tables["tbl_EmpDept"].Columns["DNo"], false);
Loading

SIVAPosted Dec 23, 2011, 4:46 AM
nice sharing..
its displaying the parent records in Gridview but my requirement is
i need to make primary key column in parent table as link button.
when i click that button it have to display all the related child records in another gridview
can you send me the code please
Satyapriya NayakPosted Dec 22, 2011, 11:44 AM
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";
}
}
}
Thanks
SIVAPosted Dec 22, 2011, 9:19 AM
Datta KharadPosted Dec 22, 2011, 8:37 AM
You can refer this code..
// Get the DataColumn objects from two DataTable objects
// in a DataSet. Code to get the DataSet not shown here.
DataColumn parentColumn =
DataSet1.Tables["Customers"].Columns["CustID"];
DataColumn childColumn =
DataSet1.Tables["Orders"].Columns["CustID"];
// Create DataRelation.
DataRelation relCustOrder;
relCustOrder = new DataRelation("CustomersOrders",
parentColumn, childColumn);
// Add the relation to the DataSet.
DataSet1.Relations.Add(relCustOrder);