易截截图软件、单文件、免安装、纯绿色、仅160KB

SQl 2005 For XMl 简单查询(Raw,Auto,Path模式)(1)

 很多人对Xpath可能比较熟悉,但不知道有没有直接操作过数据库,我们都知道 在Sql2005里公支持的几种查询有Raw,Auto,Path模式等,如果在2000里使用过 Path模式的朋友应该知道,是不容易处理查询结果的,那么在2005里对这一块做了很好的提升
        我先来介绍一下什么是Sql For Xml吧,我们大多时候都会有这种情况,想把表里的数据转化成Xml格式的,通常我们会使用c#或是Vb程序来转公,使用Xpath或是XmlDocument等对象来完成,当然这样是可以的,不过这样处理起来就会出现很多问题,比如说数据库变化,如果只有数据变化那方便,写一个通用的类,每次查询前更新Xml文件就可以了,但如果出现数据库结构的变化就会很吃力了,那么有没有一种方法,把数据在调出数据库之前就转化为Xml的呢,这个是当然的,就是我们的For Xml,大家在查询分析器里做表结果查询的时候一般是这样写的
  
   我们给大家展示一下我所用到的两个表吧
   第一个表班级信息表ClassInfo(班级信息表一共三个字段CID 本表ID,Cnumber 班级人数,CName 班级名称)
  
 第二个表 生信息表 Students (CID 班级表外键,SID学生信息表ID学生的学号就是,SName)
SELECT CID,Cnumber,CName from ClassInfo WHERE CName='博客园一班'
 结果为:
通常是这种方法,或是再加上个Order BY 什么的,或是像inner join 等查询的东东,其实我们只要在这条语句上少量的改动一下就可以得到我们想要的Xml数据了,也许 有朋友已经想到了是 For Xml 对就是这样的
SELECT CID,Cnumber,CName from ClassInfo WHERE CName='博客园一班'   FOR xml raw
 这样查询得到的结果如下:
我们如果想看的更清楚的话只要单击一个就可以得到相应的Xml文件的形式了
这里应该就是我们想要的Xml文件的形式了,其实就是这么简单的,我们可以通过Ado的方式 把他查询得到UI直接使用就OK了,
我们可以看到我们得到的信息并不完整,没有学生信息,我们要吧使用一个连接的形式来完成看下面的Sql语句
SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
from ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
ORDER BY&n


相关文档:

解密SQL SERVER 2005加密存储过程,函数


在SQL SERVER 2005中必须用专用管理连接才可以查看过程过程中用到的表
EG:sqlcmd -A
1>use test
2>go
1>sp_decrypt 'p_testa'
2>go
Text
----------------------
Create procedure P_testa
with encryption
as
select * from test
 
create PROCEDURE [dbo].[sp_decrypt]
(@procedure s ......

SQL Server Management Studio连接服务器时指定端口号

      今天想连接SQL Server服务器时发现没法连接,发现端口号不是默认的端口号,需要指定端口号,刚开始以为是IP地址加冒号再端口号就行了,结果发现没用,google一把发现原来不是冒号,是逗号,哈。比如:127.0.0.1,1451 , 格式就是:[IP],[Port] 。 完毕。 ......

SQL中Where与Having的区别

“Where” 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数。
“Having”是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。
在说区别之前,得先介绍GROUP BY这个子句,而在说GROUP子句前 ......

读xml文件


网上提供的一些方法比较简单,无法适应XML文件的动态变化 ,没办法只能自己查文档写,总算没浪费时间,用的时候别忘了加#import
"msxml4.dll"这个动态链接库网上很好找,自己找一下,希望能帮助需要的朋友,困了
::CoInitialize(NULL);
//初始化COM
 MSXML2::IXMLDOMDocumentPtr pDoc;
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号