5.10. 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
You must persist the DataSet to XML, transform it
to
ADO Recordset
schema, and load it into an ADO Recordset using
COM interop.
You’ll need a reference to the
Primary Interop Assembly (PIA) for ADO
provided in the file ADODB.DLL. Select
adodb from the .NET tab in Visual Studio
.NET’s Add Reference Dialog.
The sample uses one XML file:
Orders.xsltThe XSLT stylesheet used to transform the XML document output by the
DataSetinto an ADORecordsetXML document.
The sample code contains one event handler and one method:
- Go
Button.Click Converts the
DataSetto an ADORecordsetusing 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.
GetDataTypeInfo( )This method maps SQL Server specific types to ...
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