仓酷云

标题: MSSQL网页编程之ADO.NET最好理论(下) [打印本页]

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




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2