拼吾爱程序人生

首页 » 数据库编程 » SQL Server » 在SQL2000查询中使用XDR的例子
Systemjudge - 2007-8-6 16:59:00
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="CustomerID" />

    <attribute type="OrderID" sql:field="OrderID" />

    <attribute type="OrderDate" sql:field="OrderDate" />

  </ElementType>

  <ElementType name="Customer" sql:relation="Customers">

    <AttributeType name="CustomerID" />

    <AttributeType name="CompanyName" />

    <attribute type="CustomerID" sql:field="CustomerID" />

    <attribute type="CompanyName" sql:field="CompanyName" />

    <element type="Order">

      <sql:relationship key-relation="Customers" key="CustomerID" foreign-key="CustomerID" foreign-

relation="Orders" />

    </element>

  </ElementType>

</Schema>

 您可能对 [SQL Server] 的这些文章也感兴趣:

SQL Server中数据库快照的工作原理
SQL Server数据库的集群设计
使用SQL2000将现有代码作为Web服务提供
SQLSERVER中数据行所占用的最小空间
解析SQL Server自动编号字段的数据恢复
SQL Server中sa帐号改名和删除的好方法
SQLServer语句导入导出大全
构造SQL Server的安全门
轻松掌握SQL Server的数据同步技术
解决SQLServer导入数据时id自增属性丢失及缩小日志
怎样正确理解.NET和SQL Server中“空值”
SQLServer identity列的操作方法
1
查看完整版本: 在SQL2000查询中使用XDR的例子
Modify by pin5i DZNT_ExpandPackage 2.1.3295 2007-2009 pin5i.com
 Total Unique Visitors: