|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。利用DataReader、DataSet、DataAdapter和DataView
ADO.NET供应两个工具用于检索干系型数据并把它存储在内存中,分离是DataSet和DataReader。DataSet供应内存中干系数据的体现--包含表和序次、束缚等表间的干系的完全数据汇合。DataReader供应疾速、只向前、只读的来自数据库的数据流。
利用DataSet时,一样平常利用DataAdapter(也多是CommandBuilder)与数据源交互,用DataView对DataSet中的数据举行排序和过滤。DataSet能够被承继来创建强化范例的DataSet,用于表露表、行、列作为强化范例工具属性。
上面的内容包括甚么时分利用DataSet或DataReader,和如何优化会见它们所包括的数据,也包含如何优化DataAdapter和DataView的利用(也包含CommandBuilder)。
DataSet与DataReader的对照
在计划使用程序时,决意利用DataSet仍是DataReader必要思索使用程序必要的功效。
利用DataSet是为了完成使用程序的下述功效:
l操纵了局中的多个分别的表。
l操纵来自多个源(比方来自多个数据库、XML文件和电子表格的夹杂数据)的数据。
l在层之间互换数据或利用XMLWeb服务。与DataReader分歧,DataSet能被传送到远程客户端。
l经由过程缓冲反复利用不异的行汇合以进步功能(比方排序、搜刮或过滤数据)。
l每行实行大批的处置。在利用DataReader前往的行长进行扩大处置将使毗连存在的工夫比需要的更长,从而下降效力。
l利用XML操纵(比方XSLT转换和Xpath查询)保护数据。
在使用程序必要以下功效时利用DataReader:
l不必要缓冲数据。
l正在处置的了局集太年夜而不克不及全体放进内存中。
l必要敏捷一次性会见数据,接纳只向前的只读的体例。
注重:当添补DataSet的时分,DataAdapter利用DataReader。因而利用DataAdapter取代DataSet取得的功能是勤俭了DataSet损耗的内存和组装DataSet所必要的周期。这类功能的进步年夜部分是名存实亡的,因而你应当依据必要的功效为基本来做计划决意。
利用强范例DataSet的优点
利用DataSet的另外一个优点是它能被承继用于创建强范例的DataSet。强范例DataSet的优点包含计划时的反省和强范例DataSet的VisualStudio.NET语句添补。当你为DataSet流动了纲目或干系布局时,就可以创建强范例DataSet,把行和列作为工具的属性而不是项的汇合。比方,作为表露主顾表的某一行的列名的取代,你能够表露Customer工具的Name属性。强范例的DataSet衍生自DataSet类,因而不会就义DataSet的任何功效,也就是说,强范例的DataSet也能够是远程的,并作为数据绑定控件(比方DataGrid)的数据源供应。假如不晓得纲目,也能经由过程利用一般的DataSet取得优点,可是损失了强范例DataSet的附加特征。
在强范例DataSet中处置空值
利用强范例DataSet时,你能给DataSet的XML纲目界说言语(XSD)作注解以确保强范例DataSet准确的处置空(Null)的援用。空值(nullValue)正文使你能用String.Empty这个特定值取代DBNull、坚持了空援用、大概发生一个非常。选择个中的哪一个依附于使用程序的内容,默许情形下碰到空援用将发生一个非常。
革新DataSet中的数据
假如你但愿利用更新后的值从服务器革新数据会合的值,利用DataAdapter.Fill。假如主键界说在数据表上,DataAdapter.Fill基于主键婚配新行,并把服务器的数据改成已存在的行。被革新行的RowState设置为Unchanged,即便在革新前它被修正过。注重假如给数据表界说了主键,DataAdapter.Fill增加新行大概反复主键值。
假如但愿用服务器确当前值革新一个表,而且坚持表中行的改动,你必需首选利用DataAdapter.Fill组合它,添补一个新的数据表,接着将该数据表兼并(Merge)进一个数据集,并把preserveChanges值设为true。
在DataSet中搜刮数据
在一个数据会合查询切合特定前提的行时,利用基于索引(index-based)的检察表将进步功能。给数据表指定主键(PrimaryKey)值时,就创建了一个索引。当为数据表创建数据视图(DataView)时也创建了索引。上面是一些利用基于索引检察的技能:
假如查询是在数据表的主键列长进行的,利用DataTable.Rows.Find取代DataTable.Select。
查询非主键列,可使用数据视图来进步多个数据查询的速率。当给数据视图增加排序时,将创建搜刮时利用的索引。数据视图表露了查询上层数据表的Find和FindRows办法。
假如你不是查询表的排序视图,也能够经由过程为数据表创建数据视图取得基于索引的检察表的优点。注重假如你实行数据上的多个查询这是独一的优点。假如你只实行单个查询,必要创建索引的历程将由于利用索引而下降了功能。
数据视图(DataView)布局
当数据视图创建后,而且当Sort、RowFilter或RowStateFilter大概属性被修正时,数据视图为上层数据表中的数据创建索引。当创建数据视图工具时,利用把Sort、RowFilter和RowStateFilter值作为参数的数据视图机关函数。了局是创建了一次索引。创建"空"数据视图,然后设置Sort、RowFilter和RowStateFilter属性将招致最少两次创建索引。
</p>当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题 |
|