tailieunhanh - Converting a DataSet to an ADO Recordset

[ Team LiB ] Recipe 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 | Team LiB Recipe 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 . Select adodb from the .NET tab in Visual Studio .NET s Add Reference Dialog. The sample uses one XML file The XSLT stylesheet used to transform the XML document output by the DataSet into an ADO Recordset XML document. The sample code contains one event handler and one method Go Converts the DataSet to an ADO Recordset using the following steps 1. A shell XML document for the ADO Recordset is created. 2. A DataReader accesses the schema information for the data to convert using the GetSchemaTable method. This information is mapped to and added to the ADO Recordset XML document. 3. The DataSet is loaded with data for a single DataTable. The XML document for the DataSet is transformed and written into the ADO Recordset XML document. 4. An ADO Recordset object is created and loaded with the ADO Recordset XML document. This completes the conversion. 5. The ADO Recordset is loaded into a DataTable using the OleDbDataAdapter. 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 data type attributes for the ds and rs namespaces used to serialize an ADO Rowset. The XSLT file is shown in Example 5-10. Example 5-10. File xml version xsl stylesheet xmlns xsl http 1999 XSL Transform xmlns rs urn schemas-microsoft-com rowset xmlns z RowsetSchema xmlns msxsl urn schemas-microsoft-com xslt xmlns wxh http wxhnamespace version msxsl script language- CSharp implements-prefix wxh CDATA private String