November 2003
Intermediate to advanced
476 pages
14h 38m
English
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> ...