• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

使用XML模式定义DateSet,并用C#显示DateSet内容

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

使用XML模式定义DateSet:test.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schema-microsoft-com:xml-msdata" elementFormDefault="qualified" attributeFormDefault="unqualified" >
 <xs:element name="ComplexType" msdata:IsDataSet="true">
  <xs:complexType>
   <xs:choice maxOccurs="unbounded">

表一:
    <xs:element name="book">
     <xs:complexType>
      <xs:sequence>
       <xs:element name="ISBN" type="xs:string"/>
       <xs:element name="author" type="xs:positiveInteger"/>
      </xs:sequence>
     </xs:complexType>
    </xs:element>

表二:
    <xs:element name="author">
     <xs:complexType>
      <xs:sequence>
       <xs:element name="authorid" type="xs:positiveInteger"/>
       <xs:element name="NAME" type="xs:string"/>
      </xs:sequence>
     </xs:complexType>
    </xs:element>
   </xs:choice>
  </xs:complexType>

下列为两个表的联系设置:

设置Key键:

从表:
  <xs:key name="authorkey">
   <xs:selector xpath=".//author"/>
   <xs:field xpath="authorid"/>
  </xs:key>

设置keyref形成关系

主表:
  <xs:keyref name="authorref" refer="authorkey">
   <xs:selector xpath=".//book"/>
   <xs:field xpath="author"/>
  </xs:keyref>
 </xs:element>
</xs:schema>
总结:Key->keyref->关系

下面在C#中如何显示DateSet相关信息

class Program
 {
        [STAThread]
        static void Main(string[] args)
        {
  DataSet ds = new DataSet();
            ds.ReadXmlSchema("test.xsd");
            foreach(DataTable dt in ds.Tables )
            { Console.WriteLine("{0}", dt.TableName);}

            foreach (DataColumn dc in dt.Columns)
            { Console.Write("{0},<{1}>",dc.ColumnName,dc.DataType.ToString());}

显示:
book
ISBN,<System.String>author,<System.UInt64>
author
authorid,<System.UInt64>NAME,<System.String>


            Console.WriteLine("\n");
            }
            foreach (DataRelation dr in ds.Relations)
            { Console.WriteLine("{0},{1}",dr.RelationName,dr.Nested.ToString());}

显示:----authorref,False
         }
}

总结:DateSet ReadXmlSchema(具有DateSet描述的xsd文档);就可以了;


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# 使用printDocument1.Print打印时不显示 正在打印对话框发布时间:2022-07-10
下一篇:
C#Datatable排序发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap