打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
小议sql查询返回xml数据之应用
    今天查看邮件,看到一标题Using the FOR XML Clause to Return Query Results as XML,点进去看了看,以前也是知道sql server 查询可以返回xml格式,但具体一到应用中比较少,读过文章后,想到自己的项目有调用远程web服务,传xml格式串方法,这个xml串是拼接而成的。想到此,决定做个测试,看程序中如何接收sql查询返回xml格式,为以后做个笔记,方便自己查找。
  

测试步骤:

1.       创建测试数据,同上一篇(在sql server中,实现列数据转换成逗号隔开字符串 ),还是以用户表为例,创建语句和添加数据语句如下:

Code

 

2.       在sql server management studio 中温习下 sql 查询加for xml后的结果集,主要是参考Using the FOR XML Clause to Return Query Results as XML文内容,在sql 语句结束处加for xml auto root(‘xxx’) elements等等。

 

运行一sql 语句:SELECT * FROM Users u FOR XML raw

执行结果如下:

Code

 

Sql语句:SELECT * FROM Users u FOR XML RAW('User')

 

执行结果如下:

Code

 语句SELECT * FROM Users u FOR XML RAW('User'),ROOT('Users'),elements 不在copy执行结果了,大家自己执行下就可以看到效果了。

3.       在ASP.NET中如何获取这种形式的数据集呢。主要用到xmlreader(xmlTextReader),这里以xmlreader为例,

 

在程序代码中,主要用是用SqlCommand对象ExecuteXmlReader()方法,

下面是具体的实现代码:

Code

运行结果:


Code


得到sql 返回的xml格式的数据,以前我的那个项目拼接成的xml格式的字符串就可以省去一大部分拼接代码。没有测试过是在程序这边拼接效率好还是数据库返回xml数据效率好,但编写的程序代码是减少很多。有兴趣的同学帮忙测测这两种方式哪种效率更好些呢。欢迎大家扔砖头。

 

参考:

Using the FOR XML Clause to Return Query Results as XML

http://www.simple-talk.com/content/article.aspx?article=720

 

如何使用SQLSERVER2000中的XML功能

http://www.legalsoft.com.cn/docs/docs/11/1001.html

 

 

使用ExecuteXMLReader()读取XML片段

http://blog.csdn.net/sunhaiwei_andy/archive/2008/04/14/2289586.aspx

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Execution Plan 执行计划介绍
学习笔记之 O/R 映射技术的王牌Hibernate框架
LINQ
SSH框架中利用@Query注解进行联表查询
[转] 关于oracle with table as 创建临时表的用法示例
第8章 数据库窗口对象
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服