Finding the index of the DataRow to update?

D

Doug

I've got a strongly-typed dataset with 2 related tables in it ("Staff"
and "Roles"). I want to make a change to the parent Staff row and also
to its child Role row. I'm having difficulty figuring out the best way
to do this.

First question:
I can get myself a new instance of a row and make changes to it, but
presumably that's then a separate object from the original dataset
row. How do I reconcile my changes back to the dataset?

Second question:
Because I haven't figured out the answer to the above, I'm updating
the rows directly in the dataset. But in order to find which row to
update, I'm having to do something which looks really complicated (see
code snippet below).

It can't be that difficult! But the MSDN examples are no help at all -
they simply refer to the required row using an absolute value:
dataset1.Tables["Customers"].Rows[4]["CompanyName"] = "Wingtip Toys";
How much use is that in The Real World?! Not much - what I need to
know is, how to dynamically find that value 4 in the example.

Any help would be much appreciated. Thanks very much. Here's the code
snippet:

//find the index of the Staff row to update (where StaffID=_staffID):
UserDataSet.StaffRow[] staffRows=this.GetStaffRowsxMany();
int i=0, rowID=0;
foreach(UserDataSet.StaffRow dr in staffRows)
{
if(dr.StaffID==_staffID)
rowID=i;
i++;
}

//update the staff datarow with the new values:
_dsUserData.Staff[rowID].Firstname=<some value>;

etc. then I do the same for the child table (Role) rows:

//find the index of the child Role row to update (where
StaffID=_staffID)
i=0;
int roleRowID=0;
foreach(UserDataSet.RolesRow rr in
_dsUserData.Staff[rowID].GetRolesRows())
{
if(rr.StaffID==_staffID)
roleRowID=i;
i++;
}

//update the Role datarow with the new values:
_dsUserData.Roles[roleRowID].GroupID=<some value>

etc ...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top