仓酷云

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

[学习教程] ASP网站制作之利用DataReader、DataSet、DataAdapter...

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:09:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题
只想知道 该用户已被删除
沙发
发表于 2015-1-20 07:43:43 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
谁可相欹 该用户已被删除
板凳
发表于 2015-1-24 14:18:48 来自手机 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
再见西城 该用户已被删除
地板
发表于 2015-1-24 15:29:01 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-1 19:48:09 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
再现理想 该用户已被删除
6#
发表于 2015-2-3 11:13:04 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
海妖 该用户已被删除
7#
发表于 2015-2-8 20:12:01 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
第二个灵魂 该用户已被删除
8#
发表于 2015-2-26 03:19:52 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
莫相离 该用户已被删除
9#
发表于 2015-3-8 11:39:31 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
变相怪杰 该用户已被删除
10#
发表于 2015-3-15 22:23:09 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
蒙在股里 该用户已被删除
11#
发表于 2015-3-22 17:07:44 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 10:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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