Tracking Changes to a DataSet
When making changes to a
DataSet
, it is often useful to keep a record of
the changes. That way you can make a set of related changes on the
client machine, then transmit just the changes back to the server.
This technique saves network time, because the changes are all
transmitted at once, and it saves bandwidth, because only the changes
are transmitted.
You could add another line of code to Example 11-8 to
see that the DataSet
maintains a
“before” and
“after” view of the data. Add this
line before the Update( )
statement:
dataSet.WriteXml(Console.Out, XmlWriteMode.DiffGram);
And you’ll see the following output when you run the program:
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr= "urn:schemas-microsoft-com:xml-diffgram-v1"> <AngusHardware> <coupons diffgr:id="coupons1" msdata:rowOrder="0" diffgr:hasChanges="modified"> <coupon_code>077GH </coupon_code> <discount_amount>15</discount_amount> <discount_type>0</discount_type> <expiration_date>2002-11-09T14:17:41.6372544-05:00</expiration_date> </coupons> <coupons diffgr:id="coupons2" msdata:rowOrder="1"> <coupon_code>665RQ </coupon_code> <discount_amount>15</discount_amount> <discount_type>0</discount_type> <expiration_date>2002-11-30T00:00:00.0000000-05:00</expiration_date> </coupons> <coupons diffgr:id="coupons3" msdata:rowOrder="2"> <coupon_code>81BIN </coupon_code> <discount_amount>10</discount_amount> <discount_type>1</discount_type> <expiration_date>2003-01-31T00:00:00.0000000-05:00</expiration_date> ...
Get .NET & XML now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.