分手快乐 发表于 2015-1-16 22:21:50

MSSQL编程:在SQL2000查询中利用XDR的例子

对于update操作,只需要把event中的旧行和新行值对调即可。XDR不会不晓得吧?就是简化的XML-Data啦。如今树模一个怎样完成如许的查询

SELECTo.OrderID,o.OrderDatefromOrderso,Customersc,

WHEREo.CustomerID=c.CustomerIDandc.CompanyName=?

Code:

<%@Language=VBScript%>

<%

DimsConn

sConn="Provider=SQLOLEDB;DataSource=(local);InitialCatalog=Northwind;UserID=SA;Password=;"



DimadoConn

SetadoConn=Server.CreateObject("ADODB.Connection")

adoConn.ConnectionString=sConn

adoConn.CursorLocation=3adUseClient

adoConn.Open



DimadoCmd

SetadoCmd=CreateObject("ADODB.Command")

SetadoCmd.ActiveConnection=adoConn

adoCmd.CommandText="Customer[@CompanyName=""TortugaRestaurante""]"

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



adoCmd.Properties("MappingSchema")="Orders.xml"

adoCmd.Properties("BasePath")="C:INETPUBWWWROOTPBA"

adoCmd.Properties("OutputStream")=Response



Response.write"<XMLID=MyDataIsle>"

adoCmd.Execute,,1024adExecuteStream

Response.write"</XML>"

%>



Result:

<XMLID="MyDataIsle">

<CustomerCustomerID="TORTU"CompanyName="TortugaRestaurante">

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

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

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

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

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

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

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

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

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

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

</Customer>

</XML>



Orders.xml

<?xmlversion="1.0"?>

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

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

<ElementTypename="Order"sql:relation="Orders">

<AttributeTypename="CustomerID"/>

<AttributeTypename="OrderID"/>

<AttributeTypename="OrderDate"/>



<attributetype="CustomerID"sql:field="CustomerID"/>

<attributetype="OrderID"sql:field="OrderID"/>

<attributetype="OrderDate"sql:field="OrderDate"/>

</ElementType>

<ElementTypename="Customer"sql:relation="Customers">

<AttributeTypename="CustomerID"/>

<AttributeTypename="CompanyName"/>

<attributetype="CustomerID"sql:field="CustomerID"/>

<attributetype="CompanyName"sql:field="CompanyName"/>

<elementtype="Order">

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

relation="Orders"/>

</element>

</ElementType>

</Schema>
一个语句分成两个event(实际上不止,其他可以忽略),一个table_mapevent和一个Rows_log_event。Table_mapevent是一样的,主要看Rows_log_event。

活着的死人 发表于 2015-1-19 09:27:38

我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!

透明 发表于 2015-1-25 21:33:25

如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。

变相怪杰 发表于 2015-2-4 04:40:42

这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。

小女巫 发表于 2015-2-9 15:54:12

SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。

深爱那片海 发表于 2015-2-27 09:21:03

不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?

第二个灵魂 发表于 2015-3-9 00:45:22

无法深入到数据库系统层面去了解和探究

冷月葬花魂 发表于 2015-3-23 01:41:57

如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
页: [1]
查看完整版本: MSSQL编程:在SQL2000查询中利用XDR的例子