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.xslt
The XSLT stylesheet used to transform the XML document output by the
DataSet
into an ADORecordset
XML document.
The sample code contains one event handler and one method:
- Go
Button.Click
Converts the
DataSet
to an ADORecordset
using the following steps:A shell XML document for the ADO
Recordset
is created.A
DataReader
accesses the schema information for the data to convert using theGetSchemaTable( )
method. This information is mapped to and added to the ADORecordset
XML document.The
DataSet
is loaded with data for a singleDataTable
. The XML document for theDataSet
is transformed and written into the ADORecordset
XML document.An ADO
Recordset
object is created and loaded with the ADORecordset
XML document. This completes the conversion.The ADO
Recordset
is loaded into aDataTable
using 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 ...
Get ADO.NET Cookbook 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.