ASP网页编程之DataTable中数据纪录的统计
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.数据|统计DataTable中数据纪录的统计我们在利用SqlServer这些数据库时,能够轻松的经由过程Sum、Aver、Count等统计出相干了局,那末,在已把数据检索出来的DataSet(DataTable)中呢?出格是经由过程WebService取得了DataSet,这个时分,但是没有举措转头往修正Select语句来猎取这些统计了。那末在DataSet/DataTable中是不是能够举行统计呢?谜底是一定的。
在MSDN中,有一篇MS保举的统计办法,就是逐行对数据举行乞降统计,这个办法,实在有即是无(也许这个办法只是针关于DataGrid求取小计用吧),由于这个办法中接纳的是DataGrid的ItemDataBind事务来对数据举行累加,同我们手动写代码统计没有甚么区分。
本文先容一个复杂的办法,不必要逐笔记录举行盘算就能够轻松的取得DataTable中的纪录统计了局。这个复杂的办法就是挪用功效壮大的DataTable的函数Compute。
1、挪用申明(仅以C#为例,下同):
publicobjectCompute(stringstrExpression,stringstrFilter)
参数:
strExpression:要盘算的表达式字符串,基础上相似于SqlServer中的统计表达式
strFilter:统计的过滤字符串,只要满意这个过滤前提的纪录才会被统计
2、挪用举例:
以下示例,假定一个产物发卖表table,形貌某阛阓中各促销员发卖的实践纪录,包括字段为:姓名(Name)、性别(Sex,0为女,1为男)、诞辰(Birthday)、发卖产物的代码(ProID)、发卖的数目(Quantity)、发卖代价(Price)。
1.统计一切性别为女的发卖员的数目:
table.Compute("Count(*)","Sex=0");
2.统计一切发卖员中岁数年夜于20岁的
table.Compute("Count(*)","Birthday<"+today);//today为明天的日期字符串
3.统计发卖产物的均匀代价
table.Compute("Aver(Price)","true");
4.统计产物代码为1的产物发卖数目:
table.Compute("Sum(Quantity)","ProID=1");
5.统计一切产物的发卖总金额:
要统计总发卖金额,因为table中不存在某项产物某个促销员发卖的金额数据,但我们能够经由过程Quantity*Price来取得。好比:
table.Compute("Sum(Quantity*Price)","true");
这里一个成绩是:DataTable的统计功效没有SqlServer强,这个统计是毛病的,由于Compute的统计不具有Sum(Quantity*Price)如许数据的功效。那怎样办呢?
关于如许庞大数据的统计,我们能够在DataTable中创立一个新的字段来完成,好比Amount,同时设置该字段的Expression为Quantity*Price,如许我们就能够利用统计功效了:
table.Compute("Sum(Amount)","true");
</p>强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 不能只是将它停留在纸上谈兵的程度上。
页:
[1]