以前在介紹SQL
k的時候已經提到了SQL
k對XML的支持
使用for XML語句就可以很容易的把執行的結果轉化為一個XML
這樣可以在很大程度上提高系統運行效率和開發速度
但是在使用ADO(Required ADO )訪問返回的XML的方式和原來的Recordset是有所不同的如果你還是使用Recordset訪問的話只能得到一個Unicode格式的XML Schema而無法得到XML的內容
其實這個問題也是很容易就能解決的只是我自以為很熟悉ADO沒有仔細看Help所以沒有發現ADO是采用Stream的方式來得到和返回XML的
Command 對象有兩個屬性叫Input Stream和Output Stream屬性的值是一個IUnknown接口可以把一個XML Parser的接口賦給它或者是直接用RequestResponse等這樣的好處是不需要再去生成一個Recordset不需要去保存這些數據從而節省了系統開銷
下面給大家一個簡單的把XML用Response返回的Example
<%@ Language=VBScript %>
<! #include file=ADOVBSinc >
<%
Dim objConn objCmd i
Set objConn = Servercreateobject(ADODBCONNECTION)
objConnOpen Provider=SQLOLEDB;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=PBA;Data Source=(local)
Set objCmd = ServerCreateObject(ADODBCommand)
objCmdActiveConnection = objConn
objCmdProperties(Output Stream) = Response
objCmdProperties(XML Root) = root
objCmdCommandText = Select * from UserStatus for XML Auto
ResponseContentType = text/xml
objCmdExecute i adExecuteStream
Set objCmd = Nothing
objConnClose
Set objConn = Nothing
%>
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22420.html