背景 包括所以人们不问为什么我在做这个!
我已经将一个古老的极长的复杂存储过程转换为.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中,我有一个通用列表,其中包含需要返回的所有数据。 我如何在记录集中得到这个?
答案 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
请检查一下。