We help IT Professionals succeed at work.

Update Dataset

CMT Michigan
CMT Michigan asked
on
Medium Priority
248 Views
Last Modified: 2010-04-16
I am using C# in .NET
i have a dataset called changedDS with some rows. (primary key for this is id and date)
And i have another dataset called UpdateDS with many rows from a table (single table with primary key id and date). (And i am using Commandbuilder for this dataset so that i can update the underlying table)
Now i need to update the UpdateDS with changedDS data where primary key fields match.
If you can provide sample code that would be really great!

Thanks
Comment
Watch Question

Commented:
It sounds like you need to do a "join" operation between the two tables....  Take a look at the following link to see if I'm on the right track.

The C# Join Helper Class is at http://support.microsoft.com/default.aspx?scid=kb;en-us;326080

I presume that the schema is not the same between the two DataTables?   And that after you've performed the join you will interate thru the rows and copy the relevant columns?....   or are the schemas identical, and you could just replace the row?

As a matter of semantics, do you really have two different DataSets or do you have two different DataTables in one DataSet.   Currently, the ability to create relationships between DataTables is restricted to tables within the same DataSet.
CMT Michigancmt mgr

Author

Commented:
Hi,

Thanks for your reply.
The Schema is same. I have two diffterent Datasets. (Why am i doing this?). Because i am displaying the data from a SP using temp table (becuase user wants to see data in different ways, for example i have data in day level inthe databse, some times they want to see data in week level or month level for this i am summing up and displaying on the grid). So i can not update this data directly. So i have another dataset at day level just for update. So i thought i can grab the modified rows from the grid and match with the other dataset (the one i populated for update) and update.

Commented:
Well, you still could add the existing DataTable from one DataSet to the other DataSet....  it's just one line of code:

     ds1.Tables.Add(ds2.Tables["TableName"]);

After that you could use the join helper class to essentially do an SQL join on the two tables.   Once the join in completed, you'd just loop thru the rows and copy the column data...
CMT Michigancmt mgr

Author

Commented:
i figured it a way to do it. Whatever the changes on the grid i am populating to a dataset using getchanges and rowstatus
and then i am looping through this Dataset and creating a Datarow(on the dataset i created for update) using the Dataset select , then updating the values.

Thanks
Commented:
PAQed with points refunded (150)

DarthMod
Community Support Moderator

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.