元の三流解説は、
三流君ASP:SQL INSERT INTO文でデータの追加
↑を見て、笑ってやってください。
ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)
※古くさいコードが多いです・・・
ソースコード
<%@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>SQL INSERT INTO文を使用する</title> </head> <body> <h1>SQL INSERT INTO文を使用する</h1> <strong>INSERT INTO</strong> テーブル名 (フィールド1, フィールド2...) VALUES (値1,値2...)<br> をdb.Execute(strSQL)で発行するサンプルです。<br> <b>簡単な処理の流れは</b>、<br> Set db=Server.CreateObject("ADODB.Connection") で<br> 'データアクセスにはJet.OLEDB.4.0を使うことを設定<br> db.Provider = "Microsoft.Jet.OLEDB.4.0"<br> '次に、接続DBの位置を渡すので、Server.MapPathで変換して渡す<br> db.ConnectionString = Server.MapPath("db026.mdb")<br> 'データベースを開ける<br> db.open<br> 'SQL INSERT INTO 文を作る<br> strSQL = "<strong>INSERT INTO</strong> TEST (F_TITLE, F_MEMO, WriteTime) VALUES ("<br> strSQL = strSQL & "'" & strTITLE & "'" 'タイトル<br> strSQL = strSQL & ",'" & strMEMO & "'" 'メモ<br> strSQL = strSQL & ", #" & now & "#)" '現在時刻、日付型は#で囲む<br> 'SQL文を発行<br> db.Execute(strSQL)<br> <b>接続して、SQL文を渡しているだけでした<br> 実行したり、ソースを見て、動作を確認してください</b><br> <% '頭で、入力パラメーターがあるかチェックする if IsEmpty(Request.Form("btnADD")) = True Then 'ボタンが押されたか? 'そのまま下のHTMLを実行 %> <br> ボタンを押すと、INSERT INTO文を発行します<br> <FORM ACTION="test027-2.asp" METHOD="POST"> タイトル:<% Randomize : zz = Chr(&h22) & "TITLE" & Int(Rnd * 999) & Chr(&h22) %> <INPUT TYPE="text" SIZE="20" NAME="sTITLE" VALUE=<%=zz%>> <br> メモ: <INPUT TYPE="text" SIZE="80" NAME="sMEMO" VALUE="好きな文字を入れてください"> <br> <INPUT TYPE="submit" NAME="btnADD" VALUE="登録する"> ←db026.mdb(Access MDB) へ データを追加します </FORM><br> <% 'データが入力されていたら、 else '書き込み関数を呼ぶ(外側に出したかったので) Call TEST_WRITE(Request.Form("sTITLE"), Request.Form("sMEMO")) end if 'If文もここで終わり %> </body> </html> <% 'データを受け取り、DBへ書き込む Sub TEST_WRITE(strTITLE, strMEMO) '@をチェック 2010/11/23追加 If InStr(strTITLE, "@") > 0 Or InStr(strMEMO, "@") > 0 Then Exit Sub '@が含まれていたら、登録しない(イタズラでメールアドレスを書く人が居るので) End If '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("db026.mdb") 'やっとデータベースを開ける db.open '2009/02/25 シングルコーテーション対策で、 ’’と2つ重ねる。 strMEMO = Left(Replace(strMEMO, "'", "''"),20) 'シングルコーテーション2個に置換 strTITLE = Left(Replace(strTITLE, "'", "''"),10) 'シングルコーテーション2個に置換 'SQL INSERT INTO 文を作る strSQL = "INSERT INTO TEST (F_TITLE, F_MEMO, WriteTime) VALUES (" strSQL = strSQL & "'" & strTITLE & "'" 'タイトル strSQL = strSQL & ",'" & strMEMO & "'" 'メモ strSQL = strSQL & ", #" & now & "#)" '現在時刻、日付型は#で囲む 'SQL文を発行 db.Execute(strSQL) Response.Write "<hr>発行する(した)SQL文は<br><strong><font color='green'>" Response.Write strSQL & "</font></strong><br>です<hr>" 'データベースも閉じようよ db.Close 'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど) Set db = Nothing End Sub %>
↑をテスト実行する→ http://www.ken3.org/cgi-bin/test/test027-2.asp ← 実行する
コードの三流解説は、
三流君ASP:SQL INSERT INTO文でデータの追加
↑を見て、笑ってやってください。