但是在使用ado(required ado 2.6)訪問返回的xml的方式和原來的recordset是有所不同的。如果你還是使用recordset訪問的話,只能得到一個unicode格式的xml schema,而無法得到xml的內容。
其實這個問題也是很容易就能解決的,只是我自以為很熟悉ado,沒有仔細看help,所以沒有發現ado是采用stream的方式來得到和返回xml的。
command 對象有兩個屬性,叫input stream和output stream,屬性的值是一個iunknown接口。可以把一個xml parser的接口賦給它,或者是直接用request、response等。這樣的好處是不需要再去生成一個recordset,不需要去保存這些數據,從而節省了系統開銷。
下面給大家一個簡單的把xml用response返回的example:
<%@ language=vbscript %> 
<!-- #include file="adovbs.inc" --> 
<% 
 dim objconn, objcmd, i 
 set objconn = server.createobject("adodb.connection") 
 objconn.open "provider=sqloledb.1;password=;persist security info=true;user id=sa;initial catalog=pba;data source=(local)" 
 set objcmd = server.createobject("adodb.command") 
 objcmd.activeconnection = objconn 
 objcmd.properties("output stream") = response 
 objcmd.properties("xml root") = "root" 
 objcmd.commandtext = "select * from userstatus for xml auto" 
 response.contenttype = "text/xml" 
 objcmd.execute i, , adexecutestream 
 set objcmd = nothing 
 objconn.close 
 set objconn = nothing 
%>  
新聞熱點
疑難解答