仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 772|回复: 9
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之ADO.NET最好理论(下)

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:28:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引不是万能的,索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。ado
T.与XML分离

ADO.NET在DataSet中供应对XML的普遍撑持,同时在SQLServer2000或今后版本中的XML功效性扩大也能在ADO.NET中失掉充实使用。你可使用SQLXML会见在SQLServer2000和今后版本中供应的XML功效性扩大。上面是利用XML和ADO.NET的一些技能信息。

I.DataSet和XML

DataSet和XML的完善整合,可使你完成以下事变:

①从XSD企图中载进一个DataSet的企图或相干布局;

上面的例子申明一个XSD文件的布局,个中MyDataSet就是我们的DataSet元素,它上面包括一个customers复合范例元素,有了它我们就能够映照创立一个如许的表:Customers(CustomerID,CompanyName,Phone),同时也界说我们的DataSet的企图大概布局:

<xs:schemaid="SomeID"

xmlns=""

xmlns:xs="http://www.w3.org/2001/XMLSchema"

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

<xs:elementname="MyDataSet"msdata:IsDataSet="true">

<xs:complexType>

<xs:choicemaxOccurs="unbounded">

<xs:elementname="customers">

<xs:complexType>

<xs:sequence>

<xs:elementname="CustomerID"type="xs:integer"

minOccurs="0"/>

<xs:elementname="CompanyName"type="xs:string"

minOccurs="0"/>

<xs:elementname="Phone"type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:choice>

</xs:complexType>

</xs:element>

</xs:schema>

②从XML文件中载进一个DataSet的内容;

要从XML文件添补DataSet的内容,请利用DataSet工具的ReadXml办法。上面的例子申明怎样从一个XML文件读取数据到一个DataSet:

‘VisualBasic

DimmyDSAsDataSet=NewDataSet

myDS.ReadXml("input.xml",XmlReadMode.ReadSchema)

‘C#

DataSetmyDS=newDataSet();

myDS.ReadXml("input.xml",XmlReadMode.ReadSchema);

③当没有供应企图时从一个XML文件的内容中揣度一个DataSet的企图;

要从一个XML文件载进DataSet的企图信息,你可使用DataSet工具的ReadXmlSchema办法。假如没有供应企图,你还可使用InferXmlSchema从XML文件揣度DataSet的企图,上面的例子先容怎样经由过程InferXmlSchema从一个XML文件揣度出DataSet的企图:

‘VisualBasic

DimmyDSAsDataSet=NewDataSet

myDS.InferXmlSchema("input_od.xml",NewString[]{"urn:schemas-microsoft-com:officedata"})

‘C#

DataSetmyDS=newDataSet();

myDS.InferXmlSchema("input_od.xml",newstring[]"urn:schemas-microsoft-com:officedata");

④象XSD格局企图一样写一个DataSet的企图;

上面的例子展现怎样经由过程ReadXmlSchema从一个XSD文件载进DataSet的企图:

‘VisualBasic

DimmyDSAsDataSet=NewDataSet

myDS.ReadXmlSchema("schema.xsd")

‘C#

DataSetmyDS=newDataSet();

myDS.ReadXmlSchema("schema.xsd");

⑤象XML格局文件一样读写一个DataSet的内容。

使用DiffGrams从DataSet中读写内容,上面的例子显现在提交变动之前更新表中一行数据的了局,个中CustomerID为ALFKI的那一行数据被修正可是还没有更新:

<diffgr:diffgramxmlns:msdata="urn:schemas-microsoft-com:xml-msdata"xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">

<CustomerDataSet>

<Customersdiffgr:id="Customers1"msdata:rowOrder="0"diffgr:hasChanges="modified">

<CustomerID>ALFKI</CustomerID>

<CompanyName>NewCompany</CompanyName>

</Customers>

<Customersdiffgr:id="Customers2"msdata:rowOrder="1"diffgram:hasErrors="true">

<CustomerID>ANATR</CustomerID>

<CompanyName>AnaTrujilloEmparedadosyhelados</CompanyName>

</Customers>

<Customersdiffgr:id="Customers3"msdata:rowOrder="2">

<CustomerID>ANTON</CustomerID>

<CompanyName>AntonioMorenoTaquerí
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-19 13:52:29 | 只看该作者
需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。
不帅 该用户已被删除
板凳
发表于 2015-1-25 14:27:33 | 只看该作者
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
再见西城 该用户已被删除
地板
发表于 2015-2-2 22:24:51 | 只看该作者
发几份SQL课件,以飨阅者
再现理想 该用户已被删除
5#
发表于 2015-2-8 14:39:47 | 只看该作者
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
乐观 该用户已被删除
6#
发表于 2015-2-25 19:08:49 | 只看该作者
发几份SQL课件,以飨阅者
金色的骷髅 该用户已被删除
7#
发表于 2015-3-8 01:59:02 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
兰色精灵 该用户已被删除
8#
发表于 2015-3-15 20:25:15 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
小妖女 该用户已被删除
9#
发表于 2015-3-22 04:08:56 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
若相依 该用户已被删除
10#
发表于 2015-3-22 04:08:59 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 19:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表