By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
445,677 Members | 1,174 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 445,677 IT Pros & Developers. It's quick & easy.

Write dataset to XML and back again to dataset?

P: n/a
Before a delete on any table, I would like to write the contents of the
soon-to-be-deleted row to that application's single "graveyard" table
(alternate: or document as coded below).
SQL Server 2005 solution: I would store the tablename, today's date,
username, and the key column values of the soon-to-be deleted row as the
composite key of the new graveyard table row. The soon-to-be-deleted row's
data would be stored in a single xml-type column.
XML File solution: composite key from above would be the name of a
filename.xml file. The data from the soon-to-be-deleted row would be the
xml document. This is done by the following code:

Private Sub WriteXmlToFile(ByVal strGraveYardID As String, _

ByVal ds As DataSet)

'create a file name to write to.

Dim filename As String = "C:\Projects\Human Services\XMLGraveyard\" &
strGraveYardID & ".xml"

'create the FileStream to write with.

Dim myFileStream As New System.IO.FileStream(filename,
System.IO.FileMode.Create)

'create an XmlTextWriter with the fileStream.

Dim myXmlWriter As New System.Xml.XmlTextWriter(myFileStream,
System.Text.Encoding.Unicode)

'write to the file with the WriteXml method.

ds.WriteXml(myXmlWriter)

myXmlWriter.Close()

End Sub
The above works fine. Now, for the question. What about resurrecting the
deleted row from the graveyard row? Is there a way to convert the xml
document (or SQL Server 2005 data column) back into a dataset so that the
row can be re-inserted back into the original table?
Thanks,

Dean Slindee
Nov 23 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Rob
If you have the XML file you could open the file in VS, then select "Create
Schema" from the XML menu to establish an XSD document. VS will modify your
XML to refer to the XSD file. Save your changes and then you can use the
ReadXML method of the dataset to read the data back into the dataset.

Hope this helps

Rob

"Dean Slindee" wrote:
Before a delete on any table, I would like to write the contents of the
soon-to-be-deleted row to that application's single "graveyard" table
(alternate: or document as coded below).
SQL Server 2005 solution: I would store the tablename, today's date,
username, and the key column values of the soon-to-be deleted row as the
composite key of the new graveyard table row. The soon-to-be-deleted row's
data would be stored in a single xml-type column.
XML File solution: composite key from above would be the name of a
filename.xml file. The data from the soon-to-be-deleted row would be the
xml document. This is done by the following code:

Private Sub WriteXmlToFile(ByVal strGraveYardID As String, _

ByVal ds As DataSet)

'create a file name to write to.

Dim filename As String = "C:\Projects\Human Services\XMLGraveyard\" &
strGraveYardID & ".xml"

'create the FileStream to write with.

Dim myFileStream As New System.IO.FileStream(filename,
System.IO.FileMode.Create)

'create an XmlTextWriter with the fileStream.

Dim myXmlWriter As New System.Xml.XmlTextWriter(myFileStream,
System.Text.Encoding.Unicode)

'write to the file with the WriteXml method.

ds.WriteXml(myXmlWriter)

myXmlWriter.Close()

End Sub
The above works fine. Now, for the question. What about resurrecting the
deleted row from the graveyard row? Is there a way to convert the xml
document (or SQL Server 2005 data column) back into a dataset so that the
row can be re-inserted back into the original table?
Thanks,

Dean Slindee

Nov 23 '05 #2

P: n/a
Dean,

I think that you are easier of with a clone dataset/datatable.

If you want any more help,

Please reply

Cor
Nov 23 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.