| 導購 | 订阅 | 在线投稿
分享
 
 
 

How to generate XML with SQL 2000?

來源:互聯網網民  2006-12-16 17:32:25  評論

以前在介紹SQL2k的時候已經提到了SQL2k對XML的支持,使用for XML語句就可以很容易的把執行的結果轉化爲一個XML,這樣可以在很大程度上提高系統運行效率和開發速度,詳見What's new in Microsoft SQL Server 2000(四),更詳細的內容請參見Books Online。

但是在使用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

%>

 
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
 
以前在介紹SQL2k的時候已經提到了SQL2k對XML的支持,使用for XML語句就可以很容易的把執行的結果轉化爲一個XML,這樣可以在很大程度上提高系統運行效率和開發速度,詳見What's new in Microsoft SQL Server 2000(四),更詳細的內容請參見Books Online。 但是在使用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 %>
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有