当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 在SQL2000查询中使用XDR的例子

MSSQL
优化SQL Server索引的小技巧
SQL Server的空值处理策略
Windows上的MySQL UDF开发
MS SQLSERVER中如何快速获取表的记录总数
MS SQLSERVER 中如何得到表的创建语句
使用索引调节向导调整应用程序的性能
使用查询分析器调整SQL服务器脚本
SQL Server到Oracle连接服务器的实现
数据库查询结果的动态排序(6)
数据库查询结果的动态排序(7)
保持Oracle数据库优良性能的若干诀窍
数据库管理员制胜之宝
在Linux下访问MS SQL Server数据库
关于如何在查询结果中添加自动编号
如何提取除最新十条记录之外的所有记录?
一个有关DISTINCT的问题解答
关于MSSQL Server中DATETIME类型数据的处理
TOP N 和SET ROWCOUNT N 哪个更快?
金额阿拉伯数字转换为中文的存储过程
谈谈数据从sql server数据库导入mysql数据库的体验

MSSQL 中的 在SQL2000查询中使用XDR的例子


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 66 ::
收藏到网摘: n/a

  XDR不会不知道吧?就是简化的XML-Data啦。现在示范一个如何实现这样的查询

SELECT o.OrderID, o.OrderDate from Orders o, Customers c,

WHERE o.CustomerID = c.CustomerID and c.CompanyName = ?

Code:

<%@ Language=VBScript %>

<%

    Dim sConn

    sConn = "Provider=SQLOLEDB; Data Source=(local); Initial Catalog=Northwind; User ID=SA;Password=;"

   

    Dim adoConn

    Set adoConn = Server.CreateObject("ADODB.Connection")

    adoConn.ConnectionString = sConn

    adoConn.CursorLocation = 3 'adUseClient

    adoConn.Open

   

    Dim adoCmd

    Set adoCmd = CreateObject("ADODB.Command")

    Set adoCmd.ActiveConnection = adoConn

    adoCmd.CommandText = "Customer[@CompanyName=""Tortuga Restaurante""]"

    adoCmd.Dialect = "{ec2a4293-e898-11d2-b1b7-00c04f680c56}"

   

    adoCmd.Properties("Mapping Schema") = "Orders.xml"

    adoCmd.Properties("Base Path") = "C:\INETPUB\WWWROOT\PBA\"

    adoCmd.Properties("Output Stream") = Response

   

    Response.write "<XML ID='MyDataIsle'>"

    adoCmd.Execute , , 1024 'adExecuteStream

    Response.write "</XML>"

%>



Result:

<XML ID="MyDataIsle">

<Customer CustomerID="TORTU" CompanyName="Tortuga Restaurante">

  <Order CustomerID="TORTU" OrderID="10276" OrderDate="1996-08-08T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10293" OrderDate="1996-08-29T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10304" OrderDate="1996-09-12T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10319" OrderDate="1996-10-02T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10518" OrderDate="1997-04-25T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10576" OrderDate="1997-06-23T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10676" OrderDate="1997-09-22T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10842" OrderDate="1998-01-20T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10915" OrderDate="1998-02-27T00:00:00" />

  <Order CustomerID="TORTU" OrderID="11069" OrderDate="1998-05-04T00:00:00" />

</Customer>

</XML>  



Orders.xml

<?xml version="1.0" ?>

<Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"

xmlns:sql="urn:schemas-microsoft-com:xml-sql">

  <ElementType name="Order" sql:relation="Orders">

    <AttributeType name="CustomerID" />

    <AttributeType name="OrderID" />

    <AttributeType name="OrderDate" />



    <attribute type="CustomerID" sql:field