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

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

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


広告:


[記事一覧、バックナンバーを見る]

ASP 削除データの選択 と SQL DELETE文の発行

元の三流解説は、
三流君ASP:いろいろな削除処理で遊んでみた(笑)
↑を見て、笑ってやってください。
ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)
※古くさいコードが多いです・・・



ソースコード

<%@LANGUAGE=VBScript%>
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<title>ASP削除データの選択 と SQL DELETE文の発行</title>
</head>
<body>
<h1>ASP削除データの選択 と SQL DELETE文の発行</h1>
<%
  'ADO DB Connection オブジェクトを作成する、英文そのままじゃん
  Set db=Server.CreateObject("ADODB.Connection")

  'データアクセスにはJet.OLEDB.4.0を使うことを設定
  db.Provider = "Microsoft.Jet.OLEDB.4.0"

  '次に、接続DBの位置を渡すので、Server.MapPathで変換して渡す
  db.ConnectionString = Server.MapPath("db029.mdb")

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

  'IDが送られてきたかチェックする
  If IsEmpty(Request.Form("DELETE_ID")) = False Then 'IDが在りの時
    'IDを条件にSQL DELETE文を作る
    strSQL = "DELETE From KANSOU "  '感想(KANSOU)テーブルを削除するので
    strSQL = strSQL & " Where ID=" & Request.Form("DELETE_ID")

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

    'SQL文の発行
    db.Execute(strSQL)
  End If

  '
  'データ表示と削除ボタン生成
  '

  '一覧表示用のSQL文を作る
  strSQL = "Select * From KANSOU "  '感想(KANSOU)テーブルから全項目(*)セレクト
  strSQL = strSQL & "ORDER BY WriteTime DESC"           '並べ替えは時間の降順

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

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

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

  '見出しをバカっぽく、そのまま書き込む
  Response.Write "<TR>"
  Response.Write "<TD>アクション</TD>"
  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>
    'フォームを作成する ※ACTIONで自分自身を呼ぶ
    Response.Write "<TD><FORM ACTION='test047-1.asp' METHOD='POST'>"
       'IDを隠し項目(DELETE_ID)にする
    Response.Write "<INPUT type='hidden' NAME='DELETE_ID' VALUE='"
    Response.Write rs.Fields.Item("ID") & "'>" 
       'ボタンは普通に作成する
    Response.Write "<INPUT TYPE='submit' VALUE='削除'>"
    Response.Write "</FORM></TD>"
    '中身を表示
    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 'お行儀よくオブジェクトも開放しましょう

%>

<HR>
終了です。<br>
<A href="test029-1.asp">データの登録(テストデータを増やす、消したら書いてね)</a><br>
</body>
</html>

↑をテスト実行する→ http://www.ken3.org/cgi-bin/test/test047-1.asp実行する



複数の削除データ選択 ソースコード

<%@LANGUAGE=VBScript%>
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<title>ASP 複数の削除データ選択 と SQL DELETE文の発行</title>
</head>
<body>
<h1>ASP 複数の削除データ選択 と SQL DELETE文の発行</h1>
<%
  'ADO DB Connection オブジェクトを作成する、英文そのままじゃん
  Set db=Server.CreateObject("ADODB.Connection")

  'データアクセスにはJet.OLEDB.4.0を使うことを設定
  db.Provider = "Microsoft.Jet.OLEDB.4.0"

  '次に、接続DBの位置を渡すので、Server.MapPathで変換して渡す
  db.ConnectionString = Server.MapPath("db029.mdb")

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

  'IDが送られてきたかチェックする
  If IsEmpty(Request.Form("DELETE_ID")) = False Then 'IDが在りの時
    'IDを条件にSQL DELETE文を作る
    strSQL = "DELETE From KANSOU "  '感想(KANSOU)テーブルを削除するので
    '複数項目に対応するために、Where ID INを使用する
    strSQL = strSQL & " Where ID IN (" & Request.Form("DELETE_ID") & ")"

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

    'SQL文の発行
    db.Execute(strSQL)
  End If

  '
  'データ表示と削除ボタン生成
  '

  '一覧表示用のSQL文を作る
  strSQL = "Select * From KANSOU "  '感想(KANSOU)テーブルから全項目(*)セレクト
  strSQL = strSQL & "ORDER BY WriteTime DESC"           '並べ替えは時間の降順

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

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

  'フォームを作成する ※ACTIONで自分自身を呼ぶ
  Response.Write "<TD><FORM ACTION='test047-2.asp' METHOD='POST'>"
  Response.Write "削除したいデータにチェックを入れ実行ボタンを押してください<br>"
  Response.Write "<INPUT TYPE='submit' VALUE='削除実行'>"

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

  '見出しをバカっぽく、そのまま書き込む
  Response.Write "<TR>"
  Response.Write "<TD>アクション</TD>"
  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>
       'CHECKBOX DELETE_ID 作成
    Response.Write "<TD><INPUT type='CHECKBOX' NAME='DELETE_ID' VALUE='"
    Response.Write rs.Fields.Item("ID") & "'></TD>" 
    'データの中身を表示
    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>"  'テーブルは終わりです
  Response.Write "<INPUT TYPE='submit' VALUE='削除実行'>"
  Response.Write "</FORM>"

  rs.Close         '開いていたレコードセットを閉じる
  db.Close         'データベースも閉じようよ
  Set db = Nothing 'お行儀よくオブジェクトも開放しましょう

%>

<HR>
終了です。<br>
<A href="test029-1.asp">データの登録(テストデータを増やす、消したら書いてね)</a><br>
</body>
</html>

↑をテスト実行する→ http://www.ken3.org/cgi-bin/test/test047-2.asp実行する


三流君ASPでフォーム関係の解説とサンプル
三流君ASPでADO MDB接続関係の解説とサンプル
三流君ASPでADO Excel接続関係の解説ページとサンプル
三流君ASPでADO CSV接続関係の解説ページとサンプル
三流君ASPでテキストファイル関係の解説とサンプルページ
三流君ASP VBScript関数の解説とサンプル



三流君ASPで遊ぶ、失敗する