読者です 読者をやめる 読者になる 読者になる

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

三流プログラマーが作成したコードが置いてあります。あまり参考にならないと思いますがヨロシクお願いします。

SQL SELECT文WHERE句を使って条件検索

元の三流解説は、
三流君ASP:SQL SELECT文WHERE句を使って条件検索
↑を見て、笑ってやってください。
ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)
※古くさいコードが多いです・・・



WHERE を 使った ソースコードを紹介する ソースコード

<%@LANGUAGE=VBScript%>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<title>SQL SELECT文で WHERE句を使ってみた</title>
</head>
<body>
<h1>SQL SELECT文で WHERE句を使ってみた</h1>
test030-1.asp<br>
<hr>

<%  '頭で、入力パラメーターの文字数をチェックする
  strKUBUN = Request.QueryString("KUBUN")  '変数に代入(気分によって)
  If Len(strKUBUN) = 0 Then
    Response.Write "パラメーターを入力して下さい。<br>" 'エラーメッセージの表示
  Else 'データが入力されていたら、
    'パラメータがあったら、表示の関数を呼ぶ(外側に出したかったので)
    Call TEST_PRINT(strKUBUN)
  End If   'If文もここで終わり
%>

<HR>
終了です。<br>
<A href="test030-1.asp?KUBUN=ASP">test030-1.asp?KUBUN=ASPのデータを確認する</a><br>
<A href="test030-1.asp?KUBUN=24H">test030-1.asp?KUBUN=24Hのデータを確認する</a><br>
<A href="test030-1.asp?KUBUN=VBA">test030-1.asp?KUBUN=VBAのデータを確認する</a><br>
<A href="test030-1.asp?KUBUN=GUCHI">test030-1.asp?KUBUN=GUCHIのデータを確認する</a><br>

</body>
</html>

<% 'パラメータを受け取り、SQLを発行
Sub TEST_PRINT(strKUBUN)

  '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("db029.mdb")

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

  'SQL文を作る
  strSQL = "Select * From KANSOU "  '感想(KANSOU)テーブルから全項目(*)セレクト
  strSQL = strSQL & "WHERE F_KUBUN = '" & strKUBUN & "' "  '条件は区分が一致
  strSQL = strSQL & "ORDER BY WriteTime DESC"              '並べ替えは時間の降順

  'お約束のレコードセットの作成 SQL文の発行
  Set rs = db.Execute(strSQL)

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

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

  '見出しをバカっぽく、そのまま書き込む
  Response.Write "<TR>"
  Response.Write "<TD>日付</TD>"
  Response.Write "<TD>区分</TD>"
  Response.Write "<TD>NO.</TD>"
  Response.Write "<TD>感想</TD>"
  Response.Write "</TR>"

  'お約束のEOFまでループは(データが無くなるまでループ)、
  Do While rs.EOF = False   'レコードセットの.EOFがFalseの間
    Response.Write "<TR>"   '内容を表示する、行開始のタグ<TR>
    Response.Write "<TD>" & rs.Fields.Item("WriteTime") & "</TD>"
    Response.Write "<TD>" & rs.Fields.Item("F_KUBUN") & "</TD>"
    If rs.Fields.Item("F_NO") = 0 Then '0の全体かチェック
      Response.Write "<TD>全体</TD>"
    Else
      Response.Write "<TD>" & rs.Fields.Item("F_NO") & "</TD>" 'NO表示
    End If
    Response.Write "<TD>" & rs.Fields.Item("F_MEMO") & "</TD>"
    Response.Write "</TR>"
    '次のレコードにポインタを移動する
    rs.MoveNext    'これを忘れると悲惨なことに、、、
  Loop

  Response.Write "</TABLE>"  'テーブルは終わりです

  '開いていたレコードセットを閉じる
  rs.Close

  'データベースも閉じようよ
  db.Close

  'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど)
  Set db = Nothing

End Sub
%>

↑を実行する
WHERE句を使ってみたいと思います
固定の処理だとつまらないので、検索条件を?KUBUN=VBAと渡して表示してみます。
http://www.ken3.org/cgi-bin/test/test030-1.asp?KUBUN=VBA
http://www.ken3.org/cgi-bin/test/test030-1.asp?KUBUN=ASP
http://www.ken3.org/cgi-bin/test/test030-1.asp?KUBUN=GUCHI
http://www.ken3.org/cgi-bin/test/test030-1.asp?KUBUN=24H
で、動作するようにします。


コードの三流解説は、
三流君ASP:SQL SELECT文WHERE句を使って条件検索
↑を見て、笑ってやってください。