Format を 使った ソースコードを紹介する表示色の説明:ASP VBScriptは <% 〜 %> キーワードはFormat です。
<%@LANGUAGE=VBScript%>
<html>
<head>
<title>当日の時間帯別アクセス数を表示してみる SQLでFormat関数使用</title>
</head>
<body>
<h1>当日の時間帯別アクセス数を表示してみる SQLでFormat関数使用</h1>
test040-2.asp<br>
<hr>
<b>当日の時間帯別アクセス数を表示してみる</b><br>
<font color="red">GROUP BY Format(WriteTime, 'HH')でまとめてみた。</font><br>
<hr>
<%
'ADO DB Connection オブジェクトを作成する、英文そのままじゃん
Set db=Server.CreateObject("ADODB.Connection")
'.Provider?プロバイダー?通信会社?じゃなくって
'データアクセスにはJet.OLEDB.4.0を使うことを設定
db.Provider = "Microsoft.Jet.OLEDB.4.0"
'次に、接続DBの位置を渡すので、Server.MapPathで変換して渡す
db.ConnectionString = Server.MapPath("cnt_asp.mdb")
'やっとデータベースを開ける
db.open
'FORMAT関数を使用して、テーブル名logからデータを時間帯別に集計する
'SQL文を発行する
strSQL = "Select Format(WriteTime, 'HH') AS HH, Count(*) AS CNT"
strSQL = strSQL & " From log"
strSQL = strSQL & " Where WriteTime >= #" & Date & "#" '当日を条件に
strSQL = strSQL & " GROUP BY Format(WriteTime, 'HH')"
'オマケで画面にデータ表示
Response.Write "<hr>発行する(した)SQL文は<br><B><font color='green'>"
Response.Write strSQL & "</font></B><br>です<hr>"
Set rs = db.Execute(strSQL)
'データの表示をテーブルで行う
Response.Write Date & "の時間帯別のアクセス集計<br>"
Response.Write "<TABLE Border='1'>"
'見出しをバカっぽく、そのまま書き込む
Response.Write "<TR>"
Response.Write "<TD>時間帯</TD>"
Response.Write "<TD>閲覧ページ数</TD>"
Response.Write "</TR>"
'EOFまでループ
Do While rs.EOF = False '.EOFがFalseの間
Response.Write "<TR>" '内容を表示する
Response.Write "<TD>" & rs.Fields.Item("HH") & "時〜</TD>"
Response.Write "<TD ALIGN='RIGHT'>" & rs.Fields.Item("CNT") & "</TD>"
Response.Write "</TR>" & Chr(13) & Chr(10)
'次のレコードにポインタを移動する
rs.MoveNext 'これを忘れると悲惨なことに、、、
'カウンタを増やす
nCNT = nCNT + 1
Loop
Response.Write "</TABLE>" 'テーブルは終わりです
'開いていたレコードセットを閉じる
rs.Close
'データベースも閉じようよ
db.Close
'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど)
Set db = Nothing
%>
<hr>
終了です。<br>
</body>
</html>
| 最近発売の雑誌を紹介する
プログラミングと関係あるような無いような、ビジネス・経済の雑誌を紹介します。
- 週刊 ダイヤモンド 2008年 5/17号
- PRESIDENT (プレジデント) 2008年 6/2号
- 財界 2008年 5/27号
- 金融経済統計月報 2008年 04月号
- 美容と経営 2008年 06月号
- 宣伝会議 2008年 5/15号
- 食品商業 2008年 06月号
- 建設統計月報 2008年 05月号
- 株主手帖 2008年 06月号
|