problem using dataRelation in dot net
-
I have been trying to solve the problem related with using dataRelation but still couldn't figure it out. I hope somebody can help me with this. I have two repeaters used one nested another. part of code is shown below:
void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem item = e.Item;
if ((item.ItemType == ListItemType.Item) ||
(item.ItemType == ListItemType.AlternatingItem))
{Repeater2 = (Repeater)e.Item.FindControl("Repeater2"); DataRowView drv = (DataRowView)item.DataItem; Repeater2.DataSource = drv.CreateChildView("categoryItem"); Repeater2.DataBind(); } }
This categoryItem is from this code:
objDA.Fill(ds);
DataColumn c1 = ds.Tables["category"].Columns["ID"];
DataColumn c2 = ds.Tables["Item"].Columns["catID"];
dRel = new DataRelation("categoryItem", c1, c2);
ds.Relations.Add(dRel);
Repeater1.DataSource = ds;
Repeater1.DataBind();And the error message is:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 1222: objDA.Fill(ds);
Line 1223:
Line 1224: DataColumn c1 = ds.Tables["category"].Columns["ID"];
Line 1225: DataColumn c2 = ds.Tables["item"].Columns["catID"];
Line 1226: dRel = new DataRelation("categoryItem", c1, c2);Well the "ID" of table "category" is the foreign key in "item" table and that foreignKey name in the "item" table is "catID". Any help will be appreciated.. I really need some help in this.
suchita
-
I have been trying to solve the problem related with using dataRelation but still couldn't figure it out. I hope somebody can help me with this. I have two repeaters used one nested another. part of code is shown below:
void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem item = e.Item;
if ((item.ItemType == ListItemType.Item) ||
(item.ItemType == ListItemType.AlternatingItem))
{Repeater2 = (Repeater)e.Item.FindControl("Repeater2"); DataRowView drv = (DataRowView)item.DataItem; Repeater2.DataSource = drv.CreateChildView("categoryItem"); Repeater2.DataBind(); } }
This categoryItem is from this code:
objDA.Fill(ds);
DataColumn c1 = ds.Tables["category"].Columns["ID"];
DataColumn c2 = ds.Tables["Item"].Columns["catID"];
dRel = new DataRelation("categoryItem", c1, c2);
ds.Relations.Add(dRel);
Repeater1.DataSource = ds;
Repeater1.DataBind();And the error message is:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 1222: objDA.Fill(ds);
Line 1223:
Line 1224: DataColumn c1 = ds.Tables["category"].Columns["ID"];
Line 1225: DataColumn c2 = ds.Tables["item"].Columns["catID"];
Line 1226: dRel = new DataRelation("categoryItem", c1, c2);Well the "ID" of table "category" is the foreign key in "item" table and that foreignKey name in the "item" table is "catID". Any help will be appreciated.. I really need some help in this.
suchita
-
thanks for the reply . ds is not null. If i show the values of ds in datagrid, all those data is shown with no problem..
Grid1.DataSource = ds; Grid1.DataBind();
the above code is running well. error is showing on the line 1224 .. :(
suchita
-
than objDA will be null the exception is NullReferenceException that implicit says that one object is null at the run time set breakpoints and check if all vars you use are not null. bless
-
I have been trying to solve the problem related with using dataRelation but still couldn't figure it out. I hope somebody can help me with this. I have two repeaters used one nested another. part of code is shown below:
void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem item = e.Item;
if ((item.ItemType == ListItemType.Item) ||
(item.ItemType == ListItemType.AlternatingItem))
{Repeater2 = (Repeater)e.Item.FindControl("Repeater2"); DataRowView drv = (DataRowView)item.DataItem; Repeater2.DataSource = drv.CreateChildView("categoryItem"); Repeater2.DataBind(); } }
This categoryItem is from this code:
objDA.Fill(ds);
DataColumn c1 = ds.Tables["category"].Columns["ID"];
DataColumn c2 = ds.Tables["Item"].Columns["catID"];
dRel = new DataRelation("categoryItem", c1, c2);
ds.Relations.Add(dRel);
Repeater1.DataSource = ds;
Repeater1.DataBind();And the error message is:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 1222: objDA.Fill(ds);
Line 1223:
Line 1224: DataColumn c1 = ds.Tables["category"].Columns["ID"];
Line 1225: DataColumn c2 = ds.Tables["item"].Columns["catID"];
Line 1226: dRel = new DataRelation("categoryItem", c1, c2);Well the "ID" of table "category" is the foreign key in "item" table and that foreignKey name in the "item" table is "catID". Any help will be appreciated.. I really need some help in this.
suchita
objDA is probably null :|
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.
-
I have been trying to solve the problem related with using dataRelation but still couldn't figure it out. I hope somebody can help me with this. I have two repeaters used one nested another. part of code is shown below:
void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem item = e.Item;
if ((item.ItemType == ListItemType.Item) ||
(item.ItemType == ListItemType.AlternatingItem))
{Repeater2 = (Repeater)e.Item.FindControl("Repeater2"); DataRowView drv = (DataRowView)item.DataItem; Repeater2.DataSource = drv.CreateChildView("categoryItem"); Repeater2.DataBind(); } }
This categoryItem is from this code:
objDA.Fill(ds);
DataColumn c1 = ds.Tables["category"].Columns["ID"];
DataColumn c2 = ds.Tables["Item"].Columns["catID"];
dRel = new DataRelation("categoryItem", c1, c2);
ds.Relations.Add(dRel);
Repeater1.DataSource = ds;
Repeater1.DataBind();And the error message is:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 1222: objDA.Fill(ds);
Line 1223:
Line 1224: DataColumn c1 = ds.Tables["category"].Columns["ID"];
Line 1225: DataColumn c2 = ds.Tables["item"].Columns["catID"];
Line 1226: dRel = new DataRelation("categoryItem", c1, c2);Well the "ID" of table "category" is the foreign key in "item" table and that foreignKey name in the "item" table is "catID". Any help will be appreciated.. I really need some help in this.
suchita
System.NullReferenceException is an exception that never lies. You are obviously typing a string in wrong. To eliminate all possible confusion, try this code:
if (!ds.Tables.Contains("category") || !ds.Tables["category"].Columns.Contains("ID"))
throw new ArgumentException("The category table or column does not exists!")
//
if (!ds.Tables.Contains("item") || !ds.Tables["item"].Columns.Contains("catID"))
throw new ArgumentException("The item table or column does not exists!")DataColumn c1 = ds.Tables["category"].Columns["ID"];Line
DataColumn c2 = ds.Tables["item"].Columns["catID"];
dRel = new DataRelation("categoryItem", c1, c2);The mind is like a parachute. It doesn’t work unless it’s open.
-
thanks for the reply again. it is showing error in line 1224 but since my ds has all the data , i dont know why the error in this line ?
suchita
Line 1224 consists of multiple statements:
Line 1224: DataColumn c1 = ds.Tables["category"].Columns["ID"];
I suggest you cut it up into multiple lines, with a breakpoint on each line. What does ds.Tables["category"] evaluate to? Does that new object have a column labeled "ID"?
SayamiSuchi wrote:
i dont know why the error in this line ?
One of those statements on that line evaluates to
null
.I are Troll :suss:
-
objDA is probably null :|
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.
-
thanks for the reply again. it is showing error in line 1224 but since my ds has all the data , i dont know why the error in this line ?
suchita
-
objDA is filling ds. ds is getting value.. isn't that means objDA has value ?? Or is there anyway to check the data inside objDA?
Thanks, suchita
I can't tell what is wrong by seeing only some part of the relevant code. if you think everything is correct, how come the exception? now replace
objDA.Fill(ds);
...by
try {
if (objDA==null) MessageBox.Show("Oh dear, objDA seems to be null");
objDA.Fill(ds);
...
} catch(Exception exc) {
MessageBox.Show("exception: "+exc.ToString());
}:|
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.
-
System.NullReferenceException is an exception that never lies. You are obviously typing a string in wrong. To eliminate all possible confusion, try this code:
if (!ds.Tables.Contains("category") || !ds.Tables["category"].Columns.Contains("ID"))
throw new ArgumentException("The category table or column does not exists!")
//
if (!ds.Tables.Contains("item") || !ds.Tables["item"].Columns.Contains("catID"))
throw new ArgumentException("The item table or column does not exists!")DataColumn c1 = ds.Tables["category"].Columns["ID"];Line
DataColumn c2 = ds.Tables["item"].Columns["catID"];
dRel = new DataRelation("categoryItem", c1, c2);The mind is like a parachute. It doesn’t work unless it’s open.
-
I can't tell what is wrong by seeing only some part of the relevant code. if you think everything is correct, how come the exception? now replace
objDA.Fill(ds);
...by
try {
if (objDA==null) MessageBox.Show("Oh dear, objDA seems to be null");
objDA.Fill(ds);
...
} catch(Exception exc) {
MessageBox.Show("exception: "+exc.ToString());
}:|
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.
Don't take it personal SayamiSuchi. Luc is not partial to any codeproject member. He gripes at all of us! :-D
The mind is like a parachute. It doesn’t work unless it’s open.
-
I can't tell what is wrong by seeing only some part of the relevant code. if you think everything is correct, how come the exception? now replace
objDA.Fill(ds);
...by
try {
if (objDA==null) MessageBox.Show("Oh dear, objDA seems to be null");
objDA.Fill(ds);
...
} catch(Exception exc) {
MessageBox.Show("exception: "+exc.ToString());
}:|
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.
-
Which one threw the exception? I agree with Eddy that you need to learn how to perform effecient debugging. Visual Studio wouldn't be worth two cents to me if it didn't have a good debugger.
The mind is like a parachute. It doesn’t work unless it’s open.
-
Which one threw the exception? I agree with Eddy that you need to learn how to perform effecient debugging. Visual Studio wouldn't be worth two cents to me if it didn't have a good debugger.
The mind is like a parachute. It doesn’t work unless it’s open.
-
-
Thank you for the reply. my code
DataColumn c1 = ds.Tables["category"].Columns["ID"];
is throwing that error. but since my dataset has values, i dont know how come that error ?
suchita
When I use a DataAdapter to fill a DataTable, I have to manually set the DataTable's name. If the same logic applies, You may need to manually set the names of your DataSet tables.
The mind is like a parachute. It doesn’t work unless it’s open.
-
Thank you for the reply. my code
DataColumn c1 = ds.Tables["category"].Columns["ID"];
is throwing that error. but since my dataset has values, i dont know how come that error ?
suchita
assuming ds is a DataSet, that line would throw a NullRefExc only if ds were null or there were no table called "category" suggestion: split the line into many, and check what gives
if (ds==null) MessageBox.Show("ds is null");
DataTable dtCat=ds.Tables["category"];
if (dtCat==null) MessageBox.Show("dtCat is null");
DataColumn c1=dtCat.Columns["ID"];
MessageBox.Show("we got a DataColumn!");:)
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.
-
When I use a DataAdapter to fill a DataTable, I have to manually set the DataTable's name. If the same logic applies, You may need to manually set the names of your DataSet tables.
The mind is like a parachute. It doesn’t work unless it’s open.