6.16. Converting a DataSet to an ADO Recordset
Problem
You need to convert a DataSet to an ADO Recordset so that you can use it in a legacy application.
Solution
Persist the DataSet to XML, transform it to an ADO Recordset schema, and load it into an ADO Recordset.
The solution converts the DataSet to an ADO Recordset using the following steps:
A shell XML document for the ADO
Recordsetis created.A
DataReaderaccesses the schema information for the data to convert using theGetSchemaTable()method. This information is mapped to and added to the ADORecordsetXML document.The
DataSetis loaded with data for a singleDataTable. The XML document for theDataSetis transformed and written into the ADORecordsetXML document.An ADO
Recordsetobject is created and loaded with the ADORecordsetXML document. This completes the conversion.The ADO
Recordsetis loaded into aDataTableusing theOleDbDataAdapter. The default view for the table is bound to the data grid on the form to display the results of the conversion.
The GetDataTypeInfo() method maps SQL Server specific types to data type attributes for the ds and rs namespaces used to serialize an ADO Rowset.
The solution uses one XSLT stylesheet Department.xslt to transform the XML document output by the DataSet into an ADO Recordset XML document.
The XSLT file is shown in Example 6-16.
Example 6-16. File: Department.xslt
<?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rs="urn:schemas-microsoft-com:rowset" ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access