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
投稿

猜你喜欢

  • 如何导出python安装的所有模块名称和版本号到文件中

    2022-07-26 15:38:59
  • sqlserver 数据库压缩与数据库日志(ldf)压缩方法分享

    2012-01-05 18:57:19
  • 利用python库matplotlib绘制不同的图表

    2022-11-06 18:08:16
  • python实现简易动态时钟

    2022-02-18 20:29:05
  • Python实现子类调用父类的方法

    2023-09-28 12:00:55
  • 导入tensorflow时报错:cannot import name 'abs'的解决

    2023-03-19 12:56:46
  • bootstrap flask登录页面编写实例

    2024-04-16 08:49:19
  • python3.6+selenium实现操作Frame中的页面元素

    2023-10-13 01:37:00
  • 深入研究Application和Session对象

    2008-10-13 08:30:00
  • 基于php无限分类的深入理解

    2023-11-15 04:07:39
  • Python中Django发送带图片和附件的邮件

    2023-11-09 16:59:03
  • 用Javascript正则表达式验证Email地址

    2009-12-09 15:56:00
  • python数据写入Excel文件中的实现步骤

    2023-11-19 23:11:45
  • 关于Python包导入报错的问题总结

    2021-02-05 18:13:46
  • Python趣味挑战之给幼儿园弟弟生成1000道算术题

    2021-08-13 07:18:56
  • python用pickle模块实现“增删改查”的简易功能

    2022-01-13 06:38:56
  • 基于python的selenium两种文件上传操作实现详解

    2022-01-31 23:02:17
  • JS实现六边形3D拖拽翻转效果的方法

    2023-08-28 15:51:31
  • Python CSV模块使用实例

    2022-02-04 18:56:36
  • 来看看如何防止采集

    2007-08-19 20:11:00
  • asp之家 网络编程 m.aspxhome.com