如何使用.net以编程方式从通用列表中填充ado记录集

时间:2012-01-25 12:18:13

标签: .net asp-classic ado recordset

背景 包括所以人们不问为什么我在做这个!

我已经将一个古老的极长的复杂存储过程转换为.NET代码,因为需要进行大量更新,并且所有功能都在存储过程中,并且更新很复杂。

此存储过程由网站内多个地方的传统ASP使用。

要求 我现在需要将这段新代码的结果发送回经典的asp作为记录集 我打算通过webservice

来做这件事

我到目前为止 到目前为止,我已经知道我实际上可以在.NET中创建一个记录集,如此

 ADODB.Recordset rs = new Recordset();

然后将其作为xml字符串返回给asp(我还没有测试过)

rs.Save(streamObj, PersistFormatEnum.adPersistXML);
// Get the string (XML) of the recordset
string outputXml = streamObj.ReadText(str.Size);
return outputXml;

在asp中,我将使用此函数,我在asp中找到here将xml转换回记录集

Public Function RecordsetFromXMLString(sXML As String) As Recordset
    Dim oStream As ADODB.Stream
    Set oStream = New ADODB.Stream
    oStream.Open
    oStream.WriteText sXML   'Give the XML string to the ADO Stream
    oStream.Position = 0    'Set the stream position to the start
    Dim oRecordset As ADODB.Recordset
    Set oRecordset = New ADODB.Recordset
    oRecordset.Open oStream    'Open a recordset from the stream
    oStream.Close
    Set oStream = Nothing
    Set RecordsetFromXMLString = oRecordset  'Return the recordset
    Set oRecordset = Nothing
End Function

令我困惑的一点 在我的.NET中,我有一个通用列表,其中包含需要返回的所有数据。 我如何在记录集中得到这个?

1 个答案:

答案 0 :(得分:0)

您可以查看以下链接,该链接解释了将RecordSet转换为通用列表并执行相反的操作。

http://app-code.net/wordpress/?p=417

将LIst转换为Datatable .NET - Convert Generic Collection to DataTable

您可以将DataTable转换为RecordSet http://www.codeproject.com/Articles/10503/Simplest-code-to-convert-an-ADO-NET-DataTable-to-a

请检查一下。