仓酷云

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

[学习教程] ASP网页编程之完全的会见统计程序(二 程序篇)

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

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

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

x
SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。*/
/*dbcn.asp
创立数据库毗连的公用程序
*/
<%
functionOpenConn()
创立数据库毗连
dimConnStr
dimuid
dimpwd
dimdb
uid="BBC"
pwd="BBC"
db="BBC"
Softserver="Softdepserver"
SetConn=Server.CreateObject("ADODB.Connection")
ConnStr="Provider=SQLOLEDB.1;UID="&uid&";PWD="&pwd&";database="&db&";server="&
Softserver&""

Conn.OpenConnStr

setOpenConn=Conn
endfunction

functionOpenRst()
创立数据库纪录集
setRst=Server.CreateObject("ADODB.Recordset")
setOpenRst=Rst
endfunction
%>
/*
staticFunc
统计程序所必要用到的函数库
*/
<!--#includefile="dbcn.asp"-->
<%
setconn=openConn()
setrst=openRst()
subWriteDateTable(intStart,intEnd,strArray,ccount)
天生统计表
%>
<tableborder=1width=100%>
<%fori=intStarttointEnd%>
<tr>
<tdwidth=30%><%=strArray(i)%></td>
<tdwidth=60%>
<%
ifrst.eofthen
setbar0,ccount
else
ifrst(1)=ithen
setbarrst(3),ccount
ifnotrst.eofthenrst.movenext
else
setbar0,ccount
endif
endif
%>
</td>
</tr>
<%next%>
</table>
<%
endsub
%>
<%
subsetBar(num,ccount)
天生统计条
ifccount=0then
percent=0
else
percent=cInt(num/ccount*10000)/100
endif
strGif="http://edu.cnzz.cn/NewsInfo/bar.gif"
%>

height=10></td>
-->
<td><%setbarRst("VisitCount"),TotalVisit%></td>
<tdwidth=5%></td>
</tr>
<%Rst.MoveNext%>
<%Next%>
</table>
<%
endsub
%>
<%
subInsertData(userid)
处置扫瞄者信息
ExecUserInfouserid
处置日统计
ExecDayStaticuserid
处置周统计
ExecWeekStaticuserid
处置月统计
ExecMonthStaticuserid
处置年统计
ExecYearStaticuserid
endsub
%>
<%
subExecUserInfo(userid)
处置扫瞄者信息
strRet=Request.ServerVariables("HTTP_USER_AGENT")
strArray=split(strRet,"(")
strRet=left(strArray(1),len(strArray(1))-1)
strArray=split(strRet,";")
strBrowserName=strArray(1)扫瞄器
strUseSystem=strArray(2)用户操纵体系
strPrPage=Request.ServerVariables("HTTP_REFERER")从何而来
ifstrPrPage=""then
strPrPage="http://"&Request.ServerVariables("SERVER_NAME")&Request.ServerVariables
("SCRIPT_NAME")
endif
strIPAddr=Request.ServerVariables("REMOTE_ADDR")用户IP地点
strSQL="insertintoAccessStat(UserID,VisitTime,IPAddr,UseSystem,BrowserType,LastPage)"
strSQL=strSQL&"values("&trim(userid)&",getDate(),"&trim(strIPAddr)&","
strSQL=strSQL&trim(strUseSystem)&","&trim(strBrowserName)&","&trim(strPrPage)&")"
conn.executestrSQL
endsub
%>
<%
subExecDayStatic(userid)
处置逐日的小时数据
strSQL="select*fromDateStaticwheredateid=datepart(dy,getdate())anduserid="&userid&""
setrst=openrst()
rst.openstrSQL,conn,3,3
ifrst.eofandrst.bofthen
strSQL="deletefromDateStaticwhereuserid="&userid&""
conn.executestrSQL
fori=0to23
strSQL="insertintoDateStaticvalues(datepart(dy,getdate()),"&cStr(i)&","&userid
&",0)"
conn.executestrSQL
next
endif
strSQL="updatedatestaticsetnum=num+1wheredateid=datepart(dy,getdate())andhourid=datepart
(hh,getdate())anduserid="&userid&""
conn.executestrSQL
endsub
%>
<%
subExecWeekStatic(userid)
处置每周的日数据
strSQL="select*fromWeekStaticwhereweekid=datepart(ww,getdate())anduserid="&userid&""
setrst=openRst()
rst.openstrSQL,conn,3,3
ifrst.eofandrst.bofthen
strSQL="deletefromWeekStaticwhereuserid="&userid&""
conn.executestrSQL
fori=0to6
strSQL="insertintoWeekStaticvalues(datepart(ww,getdate()),"&cStr(i)&","&userid
&",0)"
conn.executestrSQL
next
endif
strSQL="updateweekstaticsetnum=num+1whereweekid=datepart(ww,getdate())anddayid+1=datepart
(dw,getdate())anduserid="&userid&""
conn.executestrSQL
endsub
%>
<%
subExecMonthStatic(userid)
处置每个月的日数据
strSQL="select*fromMonthStaticwheremonthid=datepart(mm,getdate())anduserid="&userid&""
setrst=openRst()
rst.openstrSQL,conn,3,3
ifrst.eofandrst.bofthen
strSQL="deletefromMonthStaticwhereuserid="&userid&""
conn.executestrSQL
fori=1to31
strSQL="insertintoMonthStaticvalues(datepart(mm,getdate()),"&cStr(i)&","&userid
&",0)"
conn.executestrSQL
next
endif
strSQL="updatemonthstaticsetnum=num+1wheremonthid=datepart(mm,getdate())anddayid=datepart
(dd,getdate())"
conn.executestrSQL
endsub
%>
<%
subExecYearStatic(userid)
处置每一年的月数据
strSQL="select*fromYearStaticwhereyearid=datepart(yy,getdate())anduserid="&userid&""
setrst=openRst()
rst.openstrSQL,conn,3,3
ifrst.eofandrst.bofthen
strSQL="deletefromYearStaticwhereuserid="&userid&""
conn.executestrSQL
fori=1to12
strSQL="insertintoYearStaticvalues(datepart(yy,getdate()),"&cStr(i)&","&userid
&",0)"
conn.executestrSQL
next
endif
strSQL="updateYearStaticsetnum=num+1whereYearid=datepart(yy,getdate())andMonthid=datepart
(mm,getdate())anduserid="&userid&""
conn.executestrSQL
endsub
%>

减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。
不帅 该用户已被删除
沙发
 楼主| 发表于 2015-1-19 13:09:00 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
若相依 该用户已被删除
板凳
发表于 2015-1-25 16:52:11 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-3 11:39:35 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
乐观 该用户已被删除
5#
发表于 2015-2-8 20:33:45 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
再现理想 该用户已被删除
6#
发表于 2015-2-26 06:23:28 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
莫相离 该用户已被删除
7#
发表于 2015-3-8 12:23:53 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-15 23:06:31 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-22 17:44:15 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 04:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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