CMT Michigan
asked on
Update Dataset
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
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
ASKER
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.
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.
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...
ds1.Tables.Add(ds2.Tables[
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...
ASKER
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
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
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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.