SQL Server 2000中生成XML的小技巧

作者:yuyabn 来源:赛迪网技术社区 时间:2009-02-13 17:12:00 

以前在介绍SQL2k的时候已经提到了SQL2k对XML的支持,使用for XML语句就可以很容易的把执行的结果转化为一个XML,这样可以在很大程度上提高系统运行效率和开发速度,详细的内容请参见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
%>

 

标签:SQL,Server,2000,XML,技巧
0
投稿

猜你喜欢

  • ASP中的301跳转和302跳转

    2008-08-06 18:40:00
  • 去除DW MX 2004表格宽度辅助

    2010-09-02 12:37:00
  • 企业网站FLASH引导页存在的意义

    2008-06-04 11:09:00
  • 浅析网页Transitional和Strict的文档声明的区别

    2009-02-17 12:45:00
  • 如何实现固定长度的自动编号?

    2010-06-03 10:08:00
  • XHTML1.0与HTML兼容指引16条[译]

    2009-06-10 14:45:00
  • 理解JavaScript中的事件 Event

    2008-03-19 11:16:00
  • MYSQL创建触发程序的方法

    2009-07-30 08:38:00
  • 我们需要的是怎样的分页?

    2007-09-28 20:24:00
  • 使用Perl语言去存取mSQL和MySQL数据库的内容

    2009-10-23 09:11:00
  • 将HTML表单数据存储为XML格式

    2007-08-23 13:04:00
  • ASP 正则表达式常用的几种方法(execute、test、replace)

    2010-03-02 20:23:00
  • 分享个asp文件缓存代码,使程序从缓存读数据

    2011-03-09 19:47:00
  • 一个jquery日期选取插件源码

    2009-12-23 19:15:00
  • ASP实现类似Java中的Linked HashMap类

    2010-04-03 20:49:00
  • 用CSS实现柱状图(Bar Graph)的方法(四)—table实现复杂柱状图

    2008-05-28 12:55:00
  • [译]如何设计网页小广告(banner)

    2009-10-16 20:40:00
  • 如何做一个文本书写器?

    2010-07-12 18:58:00
  • 宽屏不是用来阅读的

    2009-04-05 15:59:00
  • asp的系统变量ServerVariables (“HTTP_USER_AGENT“)问题

    2009-02-04 15:51:00
  • asp之家 网络编程 m.aspxhome.com