三流君のソースコード置き場

三流プログラマーが作成したコードが置いてあります。ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)※古くさいコードが多いです・・・



asp087.html 三流君ASP:ADO SQL Like演算子で部分検索する

元の三流解説は、
三流君ASP:ADO SQL Like演算子で部分検索する
↑を見て、笑ってやってください。
ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)
※古くさいコードが多いです・・・



SQL SELECT WHERE句で Like演算子を使用して部分検索する ソースコード

<%@LANGUAGE=VBScript%>
<%
  qqq = Trim(Request.QueryString("q"))  'パラメータ
%>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<title>SQL SELECT WHERE句で Like演算子を使用して部分検索する <%=qqq%></title>
</head>
<body>
<h1>SQL SELECT WHERE句で Like演算子を使用して部分検索する <%=qqq%></h1>
test087-1.asp<br>
<hr>
cnt_etc.mdb から訪問されたURLをグループ化して集計、降順に表示<br>
<strong>Like演算子</strong>でデータを絞り込んでみました。<br>
Select TOP 20 URL, Count(URL) As URLCNT ~<br>
<font color="red">Where URL <strong>Like</strong> '%XXXX%'<br>
と受け取ったq=を設定してみます</font><br>
<hr>
<FORM ACTION="test087-1.asp" METHOD="GET">
絞り込む検索条件を入れて、再検索ボタンを押してください。<br>
検索条件:<INPUT TYPE="TEXT" NAME="q" VALUE="<%=qqq%>">
<INPUT TYPE="submit" VALUE="再検索"><br>
※例)pc auto drink 500yenなどなど、URLの一部を入力<br>
</FORM>
<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_etc.mdb")

  'やっとデータベースを開ける
  db.open

  'お約束のレコードセットの作成 
  'GROUP BY句 で グループ化 Count関数で集計 ORDER BY句で並べ替え
  'TOP20を指定 Where URL LIKE '%XXX%'で条件を指定する
  strSQL = "Select TOP 20 URL, Count(URL) As URLCNT "
  strSQL = strSQL & "From log "

  'パラメータをチェックする(test087-1.asp?q=xxxxxでもらう)
  qqq = Trim(Request.QueryString("q"))  '両端のスペースを除いて受け取る
  If qqq <> "" Then 'データありの時、Like演算子の条件を追加する
    strSQL = strSQL & "Where URL Like '%" & qqq & "%' "
    Response.Write "条件[" & qqq & "]を受け取りました<br>"
  Else
    Response.Write "q=のパラメータが無かったよ(笑)<br>" 'データ無しの時
  End If

  strSQL = strSQL & "GROUP BY URL "
  strSQL = strSQL & "ORDER BY Count(URL) DESC"

  'オマケで画面にデータ表示
  Response.Write "<hr>発行する(した)SQL文は<br><B><font color='green'>"
  Response.Write strSQL & "</font></B><br>です<hr>"

  Set rs = db.Execute(strSQL)

  'データの表示をテーブルで行う
  Response.Write "<TABLE Border='1'>"

  '見出しをバカっぽく、そのまま書き込む
  Response.Write "<TR>"
  Response.Write "<TD>No.</TD>"
  Response.Write "<TD>URL</TD>"
  Response.Write "<TD>訪問者件数</TD>"
  Response.Write "</TR>"

  'EOFまでループ
  nCNT = 1
  Do While rs.EOF = False   '.EOFがFalseの間
    Response.Write "<TR>"   '内容を表示する
    Response.Write "<TD>" & nCNT & "</TD>"

    Response.Write "<TD><A HREF='" & rs.Fields.Item("URL") & "' Target='_top'>"
    Response.Write rs.Fields.Item("URL") & "</A></TD>"

    Response.Write "<TD ALIGN=RIGHT>" & rs.Fields.Item("URLCNT") & "人</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>
<FORM ACTION="test087-1.asp" METHOD="GET">
絞り込む検索条件を入れて、再検索ボタンを押してください。<br>
検索条件:<INPUT TYPE="TEXT" NAME="q" VALUE="<%=qqq%>">
<INPUT TYPE="submit" VALUE="再検索"><br>
※例)pc auto drink 500yenなどなど、URLの一部を入力<br>
</FORM>
</body>
</html>

↑をテスト実行する→http://www.ken3.org/cgi-bin/test/test087-1.asp?q=pc実行する


↑コードの三流解説は、
三流君ASP:ADO SQL Like演算子で部分検索する
を見て、笑ってやってください。



ASPの解説 トップページは
三流君ASPで遊ぶ、失敗する
です。こちらもよろしく・・・

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。
(※詳細は[三流君 三流プログラマーとは?]を見てください)



Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。
・[Excel/Access VBA]の解説
・[ASP(Active Server Pages)]の解説。
・[元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
・[プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
三流君を踏み台にする
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。

三流解説動画の再生リスト
https://www.youtube.com/user/ken3video/playlists

本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)