在SQL2000查询中使用XDR的例子

发表于:2007-06-30来源:作者:点击数: 标签:
XDR不会不知道吧?就是简化的XML-Data啦。现在示范一个如何实现这样的查询 SELECT o.OrderID, o.OrderDate from Orders o, Customers c, WHERE o.CustomerID = c.CustomerID and c.CompanyName = ? Code: %@ Language= VB Script % % Dim sConn sConn = Provi
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>

原文转自:http://www.ltesting.net