• sqlserver FOR xml


    --sql FOR xml

    create table ClassInfo
    (
        CID  int identity(1,1), --本表ID
        Cnumber int,            --班级人数
        CName varchar(10)       --班级名称
    )

    go
    insert ClassInfo
           select 20,'一年级1班'
    union  select 20,'一年级2班'
    union  select 20,'一年级3班'
    union  select 20,'一年级4班'
    go
    select * from ClassInfo
    --Students (CID 班级表外键,SID学生信息表ID学生的学号就是,SName)
    create table Students
    (
        [SID] int identity(1,1), --学号
        CID int,                 --班级ID 
        SName varchar(10)         --姓名       
    )
    go
    insert into Students
          select 1,'张1'
    union select 1,'张2'
    union select 1,'张3'
    union select 1,'张4'
    union select 2,'张5'
    union select 2,'张6'

    --CID 本表ID,Cnumber 班级人数,CName
    select * from ClassInfo
    select * from Students

    select * from ClassInfo WHERE CName='一年级1班'
    SELECT CID,Cnumber,CName FROM ClassInfo WHERE CName='一年级1班'   FOR xml raw

        SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
        FROM ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
        ORDER BY CID FOR xml raw 

    --raw to auto 把行数据变成节点数据
        SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
        FROM ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
        ORDER BY CID FOR xml auto 
    --root属性 添加根结点
         SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
         FROM ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
         ORDER BY CID FOR xml auto ,root('studentInfo')
    --Elements 属性 把属性变成了节点的方式
           SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
           FROM ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
           ORDER BY CID FOR xml auto ,root('studentInfo'),Elements
    --path属性
            SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
            FROM ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
            ORDER BY CID FOR xml path ,root('studentInfo')
    /*
    Path 是以数据基本结构也就是以字段为结点的形式返回Xml文档(这样说不专业可能容易理解)
    Raw 是把数据里所有的字段以属性的方式显示出Xml文档
    Auto 自动关连到相应的项目,和Raw一样在不加Elements属性时以这种方式返回数据
    */

  • 相关阅读:
    .NET网址集合(自己备用)
    在所有页面自动注册prefix
    ASP.NET里实现水晶报表的打印
    C#经典书籍推荐
    自定义file类型input框样式的方法
    安装VS2008后要做的事
    ASP.NET中使用Include的要点
    增加新记录时ObjectDataSoruce和FormViw中的相关事件使用总结
    兼容IE/FF的手动触发事件的函数 ( forward )
    ASP.NET 自定义的一个日期验证控件
  • 原文地址:https://www.cnblogs.com/dingdingmao/p/3146535.html
Copyright © 2020-2023  润新知