2024年6月21日发(作者:)
维普资讯
黩圈
基于ASP的动态统计图绘制方法研究
誊 焦 煜
在统计工作中,为了掌握数据的分布特征及其变化规
律,得出正确的结论,要对统计数据进行分析。利用统计图描
{microsoft access driver( .mdb)}”
set rs=server.createobject(“adodb.recordset”)
%>
述数据是统计分析的重要环节,统计图(如折线图、柱型图,
饼型图等),因其形象直观、一目了然,有着文字和表格无法
替代的作用,得到了广泛应用。目前在web网页上可以方便地
查询、显示数据,但如何根据数据库中的动态数据在web页面
中方便地绘制动态统计图,仍是一个值得研究的课题。
本文给出了一种基于ASP组件csDrawGraph绘制动态统
它的作用是连接到名为db1.mdb的数据库,其它asp文件
连接该数据库,在代码顶端加入<!一一#include file=“conn.asp”
一即可。
3.数据添加页面。
在add.htm上添加forml表单,将“动作”属性设置为add.
计图的方法。实现方法是:首先读取ACCESS数据库中的数
据,使用csDrawGraph组件在服务器端动态生成统计图,以
JPEG,GIF等图像格式把图形发送 ̄1]web页面,最终完成折线
图、柱型图和饼型图等统计图的动态绘制。
一
asp。在这个表单上添加五个textifeld控件,名称依次为kjk,
skk,wwk,monmID,monthIDname
在add.asp主要代码为:
’
一一一
查询表…一一
、
ASP及csDrawGraph组件
sql=“select*from table1 order by monthID’’
Active Server Pages(ASP)是服务器端脚本编写环境,使 rs.open sql,db,1,3 ’…一按照sql查询方法打开表,3
表示以可写方式打开___一一
’
一一一
用它可以创建和运行动态、交互的Web/J ̄务器应用程序。使用
ASP可以组合HTML页、脚本命令和AetiveX组件以创建交互
的Web页和基于Web的功能强大的应用程序。
csDrawGraph是ASP环境下动态绘制统计图的一个组件,
ASP组件csDrawGraph的下载地址是http://www.chestysoft,
向表中填力口信息一一一
rs.addnew ’一一一填力口新记录…一一
rs(“kjk”)=kjk
rs(“skk”)=skk
rs wwk”)=wwk
eom/download/csdgt.zip, 注册命令为regsvr32 C:
\csDrawGraphTria1.dll,其中C:\csDrawGraphTria1.dll为组件所在
的路径。
二、用ASP操作ACCESS数据库
rs(“monthID”)=monthID
rs(“monthIDname”)=monthIDname
rs.update ’…一一更新数据库一一一
4.数据删除页面。
创建名为de1.asp的文件,主要代码为:
’
…一
以图书馆各库室每月借阅数量为例绘制折线图、柱型
图,饼型图。
1.创建名为db1.mdb的access数据库,建立名为table1
的表,其结构(如下表1)。
表1
根据上个页面传过来的id查询表记录…一
sql=“select from table1 where monthID=’’&request
(“monthlD”)
kjk
6522
123l
4253
4483
6411
5211
4565
skk
4242
1242
7742
4325
8886
7644
7864
wwk
4444
822
2531
23l1
2321
1231
3644
monthID monthIDname
1
2
3
4
5
6
7
1月
2月
3月
4月
5月
6月
7月
rs.open sql,db,1,3
(科技库) (社科库) (外文库) (月份数) (月份名称)
rs.delete ’…一一删除一一一
5.数据修改页面。
创建名为gai.asp的文件,主要代码为:
’
一一
.
按照刚才传过来的id来查询表的具体记录一~
rom ftable1 where monthID=’’ sql:“select*
&monthID
rs.open sql,db,1,3 ’…一按照sql查询方法打开表,3
2.创建名为conn.asp的文件,其代码为:
<%
set db=server.createobject(“adodb.connection’’)
表示以可写方式打开…一
rs(“kjk”)=kjk
rs(“skk”)=skk
db.open‘‘DBQ=”&server.mappath(“db1.mdb”)&“;driver= rs(“wwk”)=wwk
rs(“monthID”)=monthID
至墅圆西四卿
静
墨!塑
维普资讯
瞽翊
运行程序,绘制折线图(如图1)。
rs(“monthIDname”)=monthIDname
rs.update ’一一一更新数据库一一一
l同
三、动态绘制折线图
_社科库I
塑I
创建名为gif_line_asp的文件,其代码为:
<%@language=vbscript%>
<!一-#include file=“conn.asp”一一>
<%
’
一一一
蠹
韶
瞧
包U建chart对象一一一
Set
Draw”)
Chart ̄Seryer.CreateObject(“csDrawGraphTria1.
1月 2月 3月 4月 5月 6月 7月
图1 图书馆各库室借阅量统计图
SOL=“SELECT *FROM
monthID”
Table 1 ORDER BY
四、动态绘制柱型图、饼型图
绘制科技库1-7 ̄]份借阅量柱型图、饼型图。为了在图中
使用不同颜色,增加颜色代码字段,字段名为colour。
将折线图绘制程序中的循环制图部分改为
While Not RS.Eof
RS.Open SQL,DB
’
…一
从数据库中读取数据并生成三条直线一一
CInt(RS(“monthID”)),CInt(RS
While Not RS.Eof
Chart.AddPoint
Chart.Adddata RS(“monthIDname”),CInt(RS(“kjk”)),
RS(“colour”)
RS.MoveNext
(“kjk”)),“000Off”,“科技库”
Chart.AddPoint CInt(RS(“monthID”)),CInt(RS
(“skk”)),“ff0000”,“社科库”
Chart.AddPoint CInt (RS (“monthID”)),CInt(RS
Wend
就可以画出柱型图(如图2)。
7O00
(“wwk”)),“OOffO0”,“外文库”
’
__.一
在X轴上用月份的名称替换月份数一一
5250
ChartA ̄IdXValue Ch ̄t(RS(“monthID”)),RS(“monthIDname”)
RS.MoveNext
Wend
嘲
3500
‘关闭数据库连接
RS.Close
DB.Close
挝
1750
0 1月 2月3月4月5月6月 7月
‘设置组件属性
图2科技库1—7月借阅量统计图
Chart.Tilte=“图书馆各库室借阅量统计图”
Chart.TitleX=100
将图像生成语句Response.BinaryWrite Chart.GIFbar
改为Response.BinaryWrite Chart.GIFpie
Chart.YAxisText=“借出数量”
Chart.OriginY=220
就可以绘制饼型图(如图3)。
五、总结
Chart.XOffset=l ’___一X轴坐标从1开始…一
Chart.XTl0p=7
Chart.XGrad=1
在实际应
用中,当数据
变化时,只要
用相应的asp页
面操作数据库
4月 I司
I口4月I
-5月I
’___一一X轴的最大值…一一
’…一一X轴的步长___一一
l_2月l
I-3月l
Chart.UseXAxisLabels=true ’一一用文本代替X轴上的
数字…一一
Chart.LineWidth=2 ’一一一线的宽度一一一
;昱s幽
2,q
1231
Chart.PointSize=3
Chart.PointStyle=1
Chart.showgrid=true
’
…一
’___一一转折点的大,J、一一一
’…一一转折点的形式一一一
’---一一
显示网格…
(如添加,删除明
或修改数据), ’’
就可以很方便
地更新数据,
统计图也会立
即随之发生相
4565
一一
图片以GIF格式发送到浏览器…一
Response.ContentType=“image/gif’’
Response.BinaryWfite Chart.GIFline
图3科技库1—7月借阅量统计图
应的变化,从而绘制出动态统计图,网站的维护十分便利。
[作者通联:青岛科技大学266042]
Response.End
%>
! 堡墼垦堡旦壁鲤
;
塞!塑
发布者:admin,转转请注明出处:http://www.yc00.com/news/1718956053a2753846.html
评论列表(0条)