string ADODBxml = @"
";
Type adoStreamType = Type.GetTypeFromProgID("ADODB.Stream");
object adoStream = Activator.CreateInstance(adoStreamType);
adoStreamType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, adoStream, new object[] {});
adoStreamType.InvokeMember("WriteText", System.Reflection.BindingFlags.InvokeMethod, null, adoStream, new object[] { ADODBxml });
adoStreamType.InvokeMember("Position", System.Reflection.BindingFlags.SetProperty, null, adoStream, new object[] { 0 });
Type adoRecordsetType = Type.GetTypeFromProgID("ADODB.Recordset");
object adoRecordset = Activator.CreateInstance(adoRecordsetType);
adoRecordsetType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, adoRecordset, new object[] {adoStream});
OleDbDataAdapter odb = new OleDbDataAdapter();
DataSet ods = new DataSet();
odb.Fill(ods, adoRecordset, "data");
foreach(DataTable t in ods.Tables){
Console.Write("
");
foreach(DataRow r in t.Rows){
foreach(DataColumn c in t.Columns){
Console.Write("| " + c + " | " + r[c] + " |
\n");
}
}
Console.Write("
");
}