不帅 发表于 2015-1-16 22:27:26

ASP网页编程之完全的会见统计程序(二 程序篇)

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

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

乐观 发表于 2015-2-8 20:33:45

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

再现理想 发表于 2015-2-26 06:23:28

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

莫相离 发表于 2015-3-8 12:23:53

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

灵魂腐蚀 发表于 2015-3-15 23:06:31

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

精灵巫婆 发表于 2015-3-22 17:44:15

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
页: [1]
查看完整版本: ASP网页编程之完全的会见统计程序(二 程序篇)