|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。 请人人在转载和利用的时分 保存这条信息
*/
/* dbcn.asp
创立数据库毗连的 公用法式
*/
<%
function OpenConn()
'创立数据库毗连
dim ConnStr
dim uid
dim pwd
dim db
uid="BBC"
pwd="BBC"
db="BBC"
Softserver="Softdepserver"
Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr="Provider=SQLOLEDB.1;UID=" & uid & ";PWD=" & pwd & ";database=" & db & ";server=" & Softserver & ""
Conn.Open ConnStr
set OpenConn=Conn
end function
function OpenRst()
'创立数据库纪录集
set Rst=Server.CreateObject ("ADODB.Recordset")
set OpenRst=Rst
end function
%>
/*
staticFunc
统计法式所需求用到的函数库
*/
<!--#include file="dbcn.asp"-->
<%
set conn=openConn()
set rst=openRst()
sub WriteDateTable(intStart,intEnd,strArray,ccount)
'生成统计表
%>
<table border=1 width=100%>
<%for i= intStart to intEnd%>
<tr>
<td width=30%><%=strArray(i)%></td>
<td width=60%>
<%
if rst.eof then
setbar 0,ccount
else
if rst(1)=i then
setbar rst(3),ccount
if not rst.eof then rst.movenext
else
setbar 0,ccount
end if
end if
%>
</td>
</tr>
<%next%>
</table>
<%
end sub
%>
<%
sub setBar(num,ccount)
'生成统计条
if ccount=0 then
percent=0
else
percent=cInt(num/ccount*10000)/100
end if
strGif="http://edu.cnzz.cn/NewsInfo/bar.gif"
%>
<img src="<%=strGif%>" width="<%=percent+5%>" height=10><font color=red><%=percent%>%</font>
<td align=center>
<%=num%>
</td>
<%
end sub
%>
<%
sub writeDayStatic(userid)
'生成日统计
i=0
dim strArray(100)
for i=0 to 23
strArray(i)= cStr(i) & "点--" & cstr(i+1) & "点"
next
i=0
set rst=openRst()
strSQL="select sum(num) as ccount from dateStatic where userid='" & userid & "'"
rst.open strSQL,conn,3,3
if isnull(Rst("ccount")) then
ccount=0
else
ccount=Rst("ccount")
end if
strSQL="select * from dateStatic where userid='" & userid & "' order by hourid"
set rst=openRst()
rst.open strSQL,conn,3,3
%>
会见总数<%=ccount%>
<table border=1 width=100%>
<tr height=100%>
<td width=50%><% WriteDateTable 0, 11, strArray ,ccount %></td>
<td width=50%><%WriteDateTable 12, 23, strArray ,ccount %></td>
</tr>
</table>
<%
end sub
%>
<%
sub writeWeekStatic(userid)
'生成周统计
i=0
dim strArray(7)
strArray(0)="日曜日"
strArray(1)="礼拜一"
strArray(2)="礼拜二"
strArray(3)="礼拜三"
strArray(4)="木曜日"
strArray(5)="礼拜五"
strArray(6)="礼拜六"
i=0
strSQL="select sum(num) as ccount from weekStatic where userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if isnull(Rst("ccount")) then
ccount=0
else
ccount=Rst("ccount")
end if
strSQL="select * from WeekStatic where userid='" & userid & "' order by dayid"
set rst=openRst()
rst.open strSQL,conn,3,3
%>
会见总数<%=ccount%>
<table border=1 width=100%>
<tr height=100%>
<td width=100%><% WriteDateTable 0, 6, strArray ,ccount %></td>
</tr>
</table>
<%
end sub
%>
<%
sub writeMonthStatic(userid)
'生成月统计
i=0
dim strArray(32)
for i=1 to 31
strArray(i)=cStr(i) & "日"
next
i=0
strSQL="select sum(num) as ccount from MonthStatic where userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if isnull(Rst("ccount")) then
ccount=0
else
ccount=Rst("ccount")
end if
strSQL="select * from MonthStatic where userid='" & userid & "' order by dayid"
set rst=openRst()
rst.open strSQL,conn,3,3
%>
会见总数<%=ccount%>
<table border=1 width=100%>
<tr height=100%>
<td width=50%><% WriteDateTable 1, 16, strArray ,ccount %></td>
<td width=50%><% WriteDateTable 17, 31, strArray ,ccount %></td>
</tr>
</table>
<%
end sub
%>
<%
sub writeYearStatic(userid)
i=0
dim strArray(13)
for i=1 to 12
strArray(i)=cStr(i) & "月"
next
i=0
strSQL="select sum(num) as ccount from YearStatic where userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if isnull(Rst("ccount")) then
ccount=0
else
ccount=Rst("ccount")
end if
strSQL="select * from YearStatic where userid='" & userid & "' order by monthid"
set rst=openRst()
rst.open strSQL,conn,3,3
%>
会见总数<%=ccount%>
<table border=1 width=100%>
<tr height=100%>
<td width=50%><% WriteDateTable 1, 6, strArray ,ccount %></td>
<td width=50%><% WriteDateTable 7, 12, strArray ,ccount %></td>
</tr>
</table>
<%
end sub
%>
<%
sub WriteRecentInfo(userid)
'显示会见者的阅读器散布
StrSQL="select top 10 * from accessstat where userid='" & userid & "' order by VisitTime desc"
set rst=openRst()
Rst.open StrSQL,Conn,3,1
%>
<table border=1 width=100% align=center cellSpacing=1 cellPadding=1>
<tr>
<td width=5% align=center>序 号</td>
<td width=20% align=center>来访工夫</td>
<td width=15% align=center>IP地址</td>
<td width=15% align=center>所用操作体系</td>
<td width=15% align=center>所用阅读器类型</td>
<td width=30% align=center>阅读的上一页</td>
<td width=0%></td>
</tr>
<% for i=1 to Rst.RecordCount %>
<tr>
<td width=5% align=center><%=i%></td>
<td width=20% align=center><%=Rst("VisitTime")%></td>
<td width=15% align=center><%=Rst("IPAddr")%></td>
<td width=15% align=center><%=Rst("UseSystem")%></td>
<td width=15% align=center><%=Rst("BrowserType")%></td>
<td width=30% align=center><a HREF=<%=Rst("LastPage")%>><%Response.Write Rst("LastPage")%></a></td>
<td width=0%></td>
</tr>
<% Rst.MoveNext%>
<% Next %>
</table>
<%
end sub
%>
<%
sub WriteBrowserInfo(userid)
Set Rst=OpenRst()
strSQL="select count(*) as VisitCount from AccessStat where userid='" & userid & "'"
Rst.open strSQL,Conn,3,1
TotalVisit=rst(0)
StrSQL="select BrowserType,count(BrowserType) as visitcount from AccessStat where userid='" & userid & "' group by BrowserType order by VisitCount desc"
Set Rst=OpenRst()
Rst.open StrSQL,Conn,3,1
%>
<table border=1 width=100% align=center cellSpacing=1 cellPadding=1>
<tr>
<td width=5% align=center>序 号</td>
<td width=15% align=center>所用阅读器类型</td>
<td width=40% align=center>会见比例尺暗示</td>
<td width=15% align=center>会见次数</td>
<td width=5%></td>
</tr>
<%for i=1 to Rst.RecordCount %>
<tr>
<td width=5% align=center><%=i%></td>
<td width=15% align=center><%=Rst("BrowserType")%></td>
<!--
<td width=15% align=center><%=Rst("VisitCount")%></td>
<td width=10% align=center><%=FormatNumber(CInt(Rst("VisitCount")/TotalVisit*10000)/100,true,true)%>%</td>
<td width=40% align=left><img src=http://edu.cnzz.cn/NewsInfo/bar.gif width=<%=(Rst("VisitCount")/TotalVisit)*300%> height=10></td>
-->
<td><%setbar Rst("VisitCount"),TotalVisit %></td>
<td width=5% ></td>
</tr>
<%Rst.MoveNext%>
<% Next %>
</table>
<%
end sub
%>
<%
sub InsertData(userid)
'处置阅读者信息
ExecUserInfo userid
'处置日统计
ExecDayStatic userid
'处置周统计
ExecWeekStatic userid
'处置月统计
ExecMonthStatic userid
'处置年统计
ExecYearStatic userid
end sub
%>
<%
sub ExecUserInfo(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") '从何而来
if strPrPage="" then
strPrPage="http://" & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("SCRIPT_NAME")
end if
strIPAddr=Request.ServerVariables ("REMOTE_ADDR") '用户IP地址
strSQL="insert into AccessStat(UserID,VisitTime,IPAddr,UseSystem,BrowserType,LastPage) "
strSQL=strSQL & "values ('" & trim(userid) & "',getDate(),'" & trim(strIPAddr) & "','"
strSQL=strSQL & trim(strUseSystem) & "','" & trim(strBrowserName) & "','" & trim(strPrPage) & "')"
conn.execute strSQL
end sub
%>
<%
sub ExecDayStatic(userid)
'处置逐日的小时数据
strSQL="select * from DateStatic where dateid=datepart(dy,getdate()) and userid='" & userid & "'"
set rst=openrst()
rst.open strSQL,conn,3,3
if rst.eof and rst.bof then
strSQL="delete from DateStatic where userid='" & userid & "'"
conn.execute strSQL
for i=0 to 23
strSQL="insert into DateStatic values(datepart(dy,getdate())," & cStr(i) & ",'" & userid & "',0)"
conn.execute strSQL
next
end if
strSQL="update datestatic set num=num + 1 where dateid=datepart(dy,getdate()) and hourid= datepart(hh,getdate()) and userid='" & userid & "'"
conn.execute strSQL
end sub
%>
<%
sub ExecWeekStatic(userid)
'处置每周的日数据
strSQL="select * from WeekStatic where weekid=datepart(ww,getdate()) and userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if rst.eof and rst.bof then
strSQL="delete from WeekStatic where userid='" & userid & "'"
conn.execute strSQL
for i=0 to 6
strSQL="insert into WeekStatic values(datepart(ww,getdate())," & cStr(i) & ",'" & userid & "',0)"
conn.execute strSQL
next
end if
strSQL="update weekstatic set num=num + 1 where weekid=datepart(ww,getdate()) and dayid+1= datepart(dw,getdate()) and userid='" & userid & "'"
conn.execute strSQL
end sub
%>
<%
sub ExecMonthStatic(userid)
'处置每个月的日数据
strSQL="select * from MonthStatic where monthid=datepart(mm,getdate()) and userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if rst.eof and rst.bof then
strSQL="delete from MonthStatic where userid='" & userid & "'"
conn.execute strSQL
for i=1 to 31
strSQL="insert into MonthStatic values(datepart(mm,getdate())," & cStr(i) & ",'" & userid & "',0)"
conn.execute strSQL
next
end if
strSQL="update monthstatic set num=num + 1 where monthid=datepart(mm,getdate()) and dayid= datepart(dd,getdate())"
conn.execute strSQL
end sub
%>
<%
sub ExecYearStatic(userid)
'处置每一年的月数据
strSQL="select * from YearStatic where yearid=datepart(yy,getdate()) and userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if rst.eof and rst.bof then
strSQL="delete from YearStatic where userid='" & userid & "'"
conn.execute strSQL
for i=1 to 12
strSQL="insert into YearStatic values(datepart(yy,getdate())," & cStr(i) & ",'" & userid & "',0)"
conn.execute strSQL
next
end if
strSQL="update YearStatic set num=num + 1 where Yearid=datepart(yy,getdate()) and Monthid= datepart(mm,getdate()) and userid='" & userid & "'"
conn.execute strSQL
end sub
%>
SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。 |
|