[三流君] Top ken3.orgへ [ASP解説] ASPの解説TOP [ASP記事 バックナンバー] 番号順のバックナンバー [SOHO/在宅プログラマー/派遣] 派遣のお話ほか [...サイトマップ(総合案内へ)] 分類別ガイド ADOで[ADO Mdb接続] ,[ADO Excel接続] ,[ADO CSV接続] [ASP Form データのやりとりPOSTとGET] [ASPでTextFile操作] [ASPでVBScriptを使う] [その他サンプル] |
No.25 | 2002/12/25 復習兼ねてHTMLソースを変換するツールの作成 |
[ページTOPへ戻る] |
<復習兼ねてHTMLソースを変換するツールの作成> こんにちは、Ken3です。 そろそろDBやれよ、、、 と要望の声が聞こえてくる今日この頃いかがお過ごしですか? (そんなこと、ダレもいってないって?) 今回は、今までの復習を兼ねて、 HTMLソースを変換するツールを作成してみます。 なんて言ってるけど、たいしたことないのでご安心を。 /* * 1.機能、初めは簡単シンプルに */ ホームページ上にHTMLのソース載せるのって、 メモ帳でちまちま作成している私は、 手間かかってます。 <PRE>のタグで楽してるんだけど、 <html>を<html>と変換したりしなければならなくて、 いつもエディターの変換機能で<と>を2回置換して作成してます。 まず、この作業を無くしたいです。 次にやりたいのが、 ASPの<%〜%>で囲まれた部分をわかりやすく、 青色にしたいです。 *ソースの表示プログラムでは、青になってるのに、 バックナンバーでは、黒のままなので。 やりたいことを整理すると、 ・<>を置換えたい、 ・<%〜%>で囲まれたASPのソースを青にしたい の2点です。 /* * 2.データ遷移 */ やりたいことが決まったので、 次はデータの流れを考えます。 えっと、 入力はメルマガ文章でHTMLのタグが中に入ってると ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 出力は、<>などを置換え、文章中のASP<%〜%>で囲まれた部分の色を変える 結果のHTMLソースを画面に出力ですね。 ~~~~~~~~~~~~~~~~~~~~~~ いつものパターンで、 test025.html でフォームの入力 test025-1.asp で変換処理と出力にしますか。 /* * 3.入力フォームの作成 */ 入力フォーム、いままで、いろいろと作ってきたなぁ。 複数行の入力を行うので、 <TEXTAREA ROWS=XX COLS=XX NAME="XXXXX"> </TEXTAREA> を使用するか。 入力項目は一つでさびしいけど、下記のように作成しました。 -- test025.html <html> <head> <title>HTMLのソースを作成する</title> </head> <body> <h2>HTMLのソースを作成する</h2> <br> HTMLのタグ付き文章を記入して送信ボタンを押してください。<br> タグを変換した結果が表示されます<br> <FORM ACTION="test025-1.asp" METHOD="POST"> ↓↓↓変換したい文章↓↓↓<br> <TEXTAREA ROWS=15 COLS=80 NAME="t-moto"> ここに、文章をコピーして下さい </TEXTAREA><br> <INPUT TYPE="submit" VALUE="文章を変換する"> <INPUT TYPE="reset" VALUE="クリア"> </FORM> </body> </html> ------- フォームの作成 ^^^^^^^^^^^^^^ <FORM ACTION="test025-1.asp" METHOD="POST"> ・ ・ </FORM> で入力フォームが作成されます。 ACTION="test025-1.asp" とデータの受け取り先を指定します。 METHOD="POST"は送信方法で、標準出力を使った方法です。 ="GET"とするとURLの後ろに付けたクエリ情報で送ります。 ( GETの詳細は、http://www.ken3.org/backno/backno_asp02.html#9 のFORM ACTION="XXX.asp" METHOD="GET" を使用をみてください) 入力エリアの作成 ^^^^^^^^^^^^^^^^ 入力エリアは、 <TEXTAREA ROWS=15 COLS=80 NAME="t-moto"> ここに、文章をコピーして下さい </TEXTAREA><br> で簡単に作成しました。 <TEXTAREA>のタグを使用して、 行 ROWS=15 15行と表示を指定しているが、データはスクロールでたくさん入る 列 COLS=80 文章を貼るので大きめに データの名前 NAME="t-moto" と指定してます。 ボタンの作成 ^^^^^^^^^^^^ フォームの動作をするボタンを2つ作りました。 <INPUT TYPE="submit" VALUE="文章を変換する"> は、押されたらデータを送信します。 <INPUT TYPE="reset" VALUE="クリア"> は、入力データをクリアします。 入力側は物足りないけどこんな感じです。 /* * 4.出力側の処理 */ フォームから送られた文章を受け取って、変換処理を行います。 データの受け取りは ^^^^^^^^^^^^^^^^^^ POSTで送られてくるので、 Request.Form("項目名") ~~~~~~~~~~~~~~~~~~~~~~ で値を参照だったっけ、 ( 詳細は、http://www.ken3.org/backno/backno_asp01.html#4 の、[No.4 フォームから値を受け取りたい]を参照 ) タグの変換は ^^^^^^^^^^^^ たしか、 Server.HTMLEncode("文字列") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ で 変換結果を返してくれるんだっけ、 ( 詳細は、http://www.ken3.org/backno/backno_asp04.html#17 の、[No.7 中身を表示、Server.HTMLEncodeでソースの表示]を参照 ) ASPソースの色を変える ^^^^^^^^^^^^^^^^^^^^^^^^ これは、 Replace関数 ~~~~~~~~~~~ で、 変換された<,>の前後に<Font>のタグを付けて処理しました。 strDATA = Replace(strDATA, "<%", "<font color='blue'><%") '青にする strDATA = Replace(strDATA, "%>", "%></font>") 'カラー終了 こんな感じだったよね。 ( 詳細は、http://www.ken3.org/backno/backno_asp05.html#21 の、[No.21 文字列の置き換え、Replace関数を使用]を参照 ) なんだよ、過去のメルマガの紹介かよ。 で作成したのが、下記のtest025-1.aspです。 <%@LANGUAGE=VBScript%> <html> <head> <title>受け取った文章をHTMLソースに変換</title> </head> <body> <h2>受け取った文章をHTMLソースに変換</h2> test025-1.asp<br> <hr> <% 'まず、タグ関係を変換する strMOTO = Server.HTMLEncode(Request.Form("t-moto")) 'タグを変換 '次にASPソース<%〜%>を青にする strMOTO = Replace(strMOTO, "<%", "<font color='blue'><%") '青にする strMOTO = Replace(strMOTO, "%>", "%></font>") 'カラー終了 %> <PRE><%=strMOTO%></PRE> ↑<PRE>で囲うと元のままだ<br> あっ、当たり前か、<を変換してもそのまま表示したんじゃ <hr> よし、タグをさらに変換して潰してやる<br> <% strMOTO = Server.HTMLEncode(strMOTO) 'タグをさらに変換 %> <PRE><%=strMOTO%></PRE> ↑なんとかできたのかなぁ(笑) <hr> 終了です。<br> </body> </html> ---- タグ関係の変換とASP部分の処理 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <% 'まず、タグ関係を変換する strMOTO = Server.HTMLEncode(Request.Form("t-moto")) 'タグを変換 '次にASPソース<%〜%>を青にする strMOTO = Replace(strMOTO, "<%", "<font color='blue'><%") '青にする strMOTO = Replace(strMOTO, "%>", "%></font>") 'カラー終了 %> もう、関数の力を借りまくりで、ほぼそのままでした。 おいおい、表示が戻ってるよ(笑) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <PRE><%=strMOTO%></PRE> でそのまま結果を表示と。 あれ? <>とかそのまま表示された。 あれ?じゃないよ三流君、だって&lt;は<だろ、そのまま表示されるって。 そっか よし、タグをさらに変換して潰してやる ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <% strMOTO = Server.HTMLEncode(strMOTO) 'タグをさらに変換 %> <PRE><%=strMOTO%></PRE> で、 さらに、&を&ampに変換して、 これを<PRE>で表示すると、OKです。 なんか変だよね2回も変換通すなんてね。 違うやり方ありそう。。。。 /* * 5.終わりの挨拶 */ 今回は、復習を兼ねて、HTML付きの文章を変換してみました。 テストは、 http://www.ken3.org/cgi-bin/test/test025.html からできます。 遊んでみてね。 そろそろDBかなぁやはり。 イヤ、まだまだ違うネタで、、、、 素朴な疑問あったら、気軽に、 メール、掲示板に書き込んでくださいね。 ASP、VBScript勉強中の三流プログラマーのKen3でした。
No.26 | 2002/12/29 MDBファイルにアクセスしてみたADODB.Connection |
[ページTOPへ戻る] |
<MDBファイルにアクセスしてみたADODB.Connection> こんにちは、Ken3です。 そろそろDBやれよ、、、 と要望の声が聞こえてくる今日この頃いかがお過ごしですか? (そんなこと、ダレもいってないって?) 今回は、 やっとDB関係をやってみます。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ といっても、たいしたことないのでご安心を。 /* * 1.Access2000でMDBファイルを作成 */ MDBファイルを作成するために、 今回は楽してAccess2000を使用しました。 Access2000を起動して、 データベース名:db026.mdbを作成。 下記のテーブル、フィールドを作成しました。 テーブル名:TEST フィールド ID オートナンバー型 TITLE テキスト型 MEMO テキスト型 WriteTime 日付型 /* * 2.データを軽く表示してみた。 */ ポイントは、いろいろあるけど、 まずは、接続がうまく行くかチェックしてみる。 サンプルを見ながら、 自分なりに変更して、できたソースが下記のソースです。 -- test026-1.asp <%@LANGUAGE=VBScript%> <html> <head> <title>MDBファイルにアクセスしてみる</title> </head> <body> <h2>MDBファイルにアクセスしてみる</h2> test026-1.asp<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("db026.mdb") 'やっとデータベースを開ける db.open 'お約束のレコードセットの作成 テーブル名TESTから全項目(*)を指定 Set rs = db.Execute("Select * From TEST") 'データの表示をテーブルで行う Response.Write "<TABLE Border='1'>" '見出しをバカっぽく、そのまま書き込む Response.Write "<TR>" Response.Write "<TD>ID</TD>" Response.Write "<TD>TITLE</TD>" Response.Write "<TD>MEMO</TD>" Response.Write "<TD>WrietTime</TD>" Response.Write "</TR>" 'お約束のEOFまでループは(データが無くなるまでループ)、 Do While rs.EOF = False 'レコードセットの.EOFがFalseの間 Response.Write "<TR>" '内容を表示する Response.Write "<TD>" & rs.Fields.Item("ID") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("TITLE") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("MEMO") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("WriteTime") & "</TD>" Response.Write "</TR>" '次のレコードにポインタを移動する rs.MoveNext 'これを忘れると悲惨なことに、、、 Loop Response.Write "</TABLE>" 'テーブルは終わりです '開いていたレコードセットを閉じる rs.Close 'データベースも閉じようよ db.Close 'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど) Set db = Nothing %> <hr> 終了です。<br> </body> </html> ---- ADODB.Connectionオブジェクトを作成 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 'ADO DB Connection オブジェクトを作成する、英文そのままじゃん Set db=Server.CreateObject("ADODB.Connection") ADOを使用してDBをイタズラするので、 Server.CreateObjectで、 "ADODB.Connection"を指定して、オブジェクトを作成してます。 Microsoft.Jet.OLEDB.4.0 ^^^^^^^^^^^^^^^^^^^^^^^ '.Provider?プロバイダー?通信会社?じゃなくって 'データアクセスにはJet.OLEDB.4.0を使うことを設定 db.Provider = "Microsoft.Jet.OLEDB.4.0" ここでは、先ほど作成したdb(ADO DB Connection) の.Provider プロパティに "Microsoft.Jet.OLEDB.4.0" を設定。(指定) まぁ、なんでこの名称か?だけど、 MDBファイルを使用するので今回はこれで。 じゃ、Oracleとかだと違うの? ですね。 プロバイダーって単語気になってコメント書いたけど気にしないでね。 DBの位置を指定する ^^^^^^^^^^^^^^^^^^^^ '次に、接続DBの位置を渡すので、Server.MapPathで変換して渡す db.ConnectionString = Server.MapPath("db026.mdb") 物事には順序があって、 接続にはADO DB Connectionオブジェクトを介して、 データアクセスにはMicrosoft.Jet.OLEDB.4.0を使用します と来たら、次はどの?データベースを使うかを、 db.ConnectionString = Server.MapPath("db026.mdb") で指定してます。 実際に開けるのは.open ^^^^^^^^^^^^^^^^^^^^^ 'やっとデータベースを開ける db.open ここまで指定して、やっと開きます。 レコードセット、SQL文を渡して作成する ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 'お約束のレコードセットの作成 テーブル名TESTから全項目(*)を指定 Set rs = db.Execute("Select * From TEST") SQL文、こいつも詳しく解説しないといけないんだけど、 今回は、かるく、 TESTテーブルの全てのデータをセレクトしたかったので、 Set rs = db.Execute("Select * From TEST") としてます。 SQLの詳細は、また詳しくやりましょう。 でも、気になるのは、レコードセット?って単語だよね。 これは、オーダーしたレコードの集まりです。 Select * From TEST と無条件なので、 全てのデータがレコードセットとして返されてます。 テーブルタグを使って見出しとデータを表示する ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 'データの表示をテーブルで行う Response.Write "<TABLE Border='1'>" '見出しをバカっぽく、そのまま書き込む Response.Write "<TR>" Response.Write "<TD>ID</TD>" Response.Write "<TD>TITLE</TD>" Response.Write "<TD>MEMO</TD>" Response.Write "<TD>WrietTime</TD>" Response.Write "</TR>" まぁ、ここは大丈夫かなぁ。 表形式で出力したかったので、こんな感じにしてみました。 データを表示 ^^^^^^^^^^^^ 'お約束のEOFまでループは(データが無くなるまでループ)、 Do While rs.EOF = False 'レコードセットの.EOFがFalseの間 Response.Write "<TR>" '内容を表示する Response.Write "<TD>" & rs.Fields.Item("ID") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("TITLE") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("MEMO") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("WriteTime") & "</TD>" Response.Write "</TR>" '次のレコードにポインタを移動する rs.MoveNext 'これを忘れると悲惨なことに、、、 Loop ポイントは3つあって、 ア.rs.EOF = False ここで、レコードセットの行カーソルが終わりに達しているかチェックしてます。 イ.rs.Fields.Item("ID") 単純に、rs.Fields.Item(フィールド名)で値を表示してます。 ウ.rs.MoveNext レコードセットの行カーソルを次の行に移動してます(レコード移動) まぁ、よく見るパターンですよね。 後始末いろいろ ^^^^^^^^^^^^^^ Response.Write "</TABLE>" 'テーブルは終わりです は、忘れずにテーブルタグを閉めてます。 次に、 '開いていたレコードセットを閉じる rs.Close で、レコードセットを閉じて、 'データベースも閉じようよ db.Close データベースも閉じます。 あまけで今回は、 'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど) Set db = Nothing で、オブジェクトを解放してます。 使いっぱなしでも(食事を食べただけで食器を下げなくても) 関数を抜けると(部屋を出て行くと) オブジェクトが解放されるんだけど(自然と食器を下げてくれる) お行儀よく、使ったものは自分で解放しました。 /* * 3.関連情報 */ Microsoft Universal Data Access http://www.microsoft.com/japan/msdn/data/default.asp ↑いろいろとドライバーの情報など載ってます。 悪意を持ったユーザに、、、の記述を見ると、なんかドキっとしますね。 今、私はレンタルサーバーでDB動かしてるけど、 自分でサーバ立ち上げたら日々ビクビクするんだろうなぁ。。。 Universal Data Access Web サイト、 ADO セクションへようこそ http://www.microsoft.com/japan/msdn/data/ado.asp DAO から ADO への移植 Jet Provider と組み合わせた ADO の使用 http://www.microsoft.com/japan/msdn/data/techmat/ado/dao2ado.asp ↑私みたいに、DAOは少し知ってるぞって人はノゾクとわかるような、 わからないような。 Webで情報検索が当たり前の時代になってるのかなぁ。 ISDNだけど、たまにストレスを感じる(贅沢かなぁ) ADSLや光にしてみたいですね。 *相手のWebの反応が鈍くてあまりかわらないのか? それとも、ISDNとADSLだと開発ストレスも違うのか、、、 ホントのとこを知りたいですよね。 (ホントはエロ画像のダウンロードの速さが気になるんだろって?(爆)) /* * 4.終わりの挨拶 */ 今回は、 MDBファイルに軽くアクセスしてみました。 入り口にやっと着いたので、ここから飛ばして行こう *不定期発行だから気にしなくていいんだけど、 2・3日発行空いたのは、 実は、ADOのつなげ方わかんなくて(やっぱ三流でした) テストは、 http://www.ken3.org/cgi-bin/test/test026-1.asp からできます。 ただ、データが表示されるだけなので、つまらないけど。 遊んでみてね。 素朴な疑問あったら、気軽に、 メール、掲示板に書き込んでくださいね。 ASP、VBScript勉強中の三流プログラマーのKen3でした。
No.27 | 2002/12/30 SQL INSERT INTO文でデータの追加 |
[ページTOPへ戻る] |
<SQL INSERT INTO文でデータの追加> こんにちは、Ken3です。 データベースにアクセスできたら、当然、次はデータの追加でしょ。 SQLとか、単語も出てきたし、今回はデータの追加を SQLのINSERT INTO文を使ってやってみます。 ^^^^^^^^^^^^^^^^^^ といっても、たいしたことないのでご安心を。 /* * 1.フォームからデータを受け取る */ 固定のデータを書き込んでもツマラナイので、 フォームからデータを受け取ってみます。 テストで使用したデータベースの構造は、 データベース名:db026.mdbを作成。 テーブル名:TEST フィールド ID オートナンバー型 F_TITLE テキスト型 F_MEMO テキスト型 WriteTime 日付型 だったっけ。 タイトルとメモ、書き込み時刻は現在時刻にするか。 そんなデータを受け取るフォームは、こんな感じで作成してと、 ( 詳細は、 http://www.ken3.org/backno/backno_asp02.html#5 の、[No.5 IsEmptyでデータチェック]を参照 ) 開発の参考にじゃないけど、 処理を外側に出したほうが、わかり易かったりします。 -- tset027-1.asp <%@LANGUAGE=VBScript%> <html> <head> <title>データ受け取りのテスト</title> </head> <body> <h2>データ受け取りのテスト</h2> test027-1.asp<br> <hr> <% '頭で、入力パラメーターがあるかチェックする if IsEmpty(Request.Form("TITLE")) = True Then 'そのまま下のHTMLを実行 %> <br> データを入力して、送信ボタンを押してください。<br> <FORM ACTION="test027-1.asp" METHOD="POST"> タイトル: <INPUT TYPE="text" SIZE="20" NAME="TITLE" VALUE="タイトル〜"> <br> メモ: <INPUT TYPE="text" SIZE="80" NAME="MEMO" VALUE="好きな文字を入れてください"> <br> <INPUT TYPE="submit" VALUE="送 信"> <INPUT TYPE="reset" VALUE="クリア"> </FORM> <% 'データが入力されていたら、 else '書き込み関数を呼ぶ(外側に出したかったので) Call TEST_WRITE(Request.Form("TITLE"), Request.Form("MEMO")) end if 'If文もここで終わり %> <HR> 終了です。なんか変だけど<br> <% Call OUT_SRC("") 'ソースの表示関数を呼ぶ %> </body> </html> <% 'データを受け取り、DBへ書き込むつもり Sub TEST_WRITE(strTITLE, strMEMO) '今は、ただデータを表示、ここに処理を書く Response.Write "[" & strTITLE Response.Write "]とタイトルを受け取りました<br>メモは、[" Response.Write strMEMO Response.Write "]ですね<br>" End Sub %> ポイントは、 <% 'データを受け取り、DBへ書き込むつもり Sub TEST_WRITE(strTITLE, strMEMO) '今は、ただデータを表示、ここに処理を書く Response.Write "[" & strTITLE Response.Write "]とタイトルを受け取りました<br>メモは、[" Response.Write strMEMO Response.Write "]ですね<br>" End Sub %> とデータ書き込み関数の入り口まで作りました。 これで、データが来ていることがわかるので、 書き込み関数に集中できます。 /* * 2.さて、書き込みますか */ テストは、 http://www.ken3.org/cgi-bin/test/test027-2.asp で、できます。 -- test027-2.asp <%@LANGUAGE=VBScript%> <html> <head> <title>SQL INSERT INTO文を使用する</title> </head> <body> <h2>SQL INSERT INTO文を使用する</h2> test027-2.asp<br> <hr> <% '頭で、入力パラメーターがあるかチェックする if IsEmpty(Request.Form("TITLE")) = True Then 'そのまま下のHTMLを実行 %> <br> データを入力して、送信ボタンを押してください。<br> <FORM ACTION="test027-2.asp" METHOD="POST"> タイトル: <INPUT TYPE="text" SIZE="20" NAME="TITLE" VALUE="タイトル〜"> <br> メモ: <INPUT TYPE="text" SIZE="80" NAME="MEMO" VALUE="好きな文字を入れてください"> <br> <INPUT TYPE="submit" VALUE="送 信"> <INPUT TYPE="reset" VALUE="クリア"> </FORM> <% 'データが入力されていたら、 else '書き込み関数を呼ぶ(外側に出したかったので) Call TEST_WRITE(Request.Form("TITLE"), Request.Form("MEMO")) end if 'If文もここで終わり %> <HR> 終了です。<br> <A href="test026-1.asp">test026-1.asp db026.mdb内のデータを確認する</a> </body> </html> <% 'データを受け取り、DBへ書き込むつもり Sub TEST_WRITE(strTITLE, strMEMO) '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 'SQL文を作る 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>strSQL=[" & strSQL & "]を発行しました<HR>" 'データベースも閉じようよ db.Close 'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど) Set db = Nothing End Sub %> なんか、長いよね、ポイントは。 データベースへのアクセス準備 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ '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 お約束じゃないけど、上記のような感じで、前回なんとか接続しました。 ( 詳細は、 [No.26 MDBファイルにアクセスしてみたADODB.Connection]を参照 ) SQL文を作成する ^^^^^^^^^^^^^^^^^^ 'SQL文を作る strSQL = "INSERT INTO TEST (F_TITLE, F_MEMO, WriteTime) VALUES (" strSQL = strSQL & "'" & strTITLE & "'" 'タイトル strSQL = strSQL & ",'" & strMEMO & "'" 'メモ strSQL = strSQL & ", #" & now & "#)" '現在時刻、日付型は#で囲む 何やってるか?文字列作ってます。 何の? SQLのINSERT文の文字列で、 INSERT INTO テーブル名 (フィールド1,フィールド2...) VALUES (値1,値2...) といった、単純な文字列なんです。 *SQL の INSERT INTO文も奥が深いんですよ。。。 strSQL = strSQL & "'" & strTITLE & "'" 'タイトル strSQL = strSQL & ",'" & strMEMO & "'" 'メモ と、少し変な書き方だけど、&でつなげて書いてます。 文字列は’’のシングルコーテーションで囲って、 日付型は##で囲ってます。 数値はそのまま3とか何もしないでOKです。 SQL文を発行 ^^^^^^^^^^^^^^ 'SQL文を発行 db.Execute(strSQL) .ExecuteでSQL文を発行します。 中身がINSERT INTO文の文字列なので、挿入処理されます。 次回以降に出てくるDelete文もこれで発行します。 'オマケで画面にデータ表示 Response.Write "<HR>strSQL=[" & strSQL & "]を発行しました<HR>" 確認でSQL文を表示してみました。 後始末 ^^^^^^ 'データベースも閉じようよ db.Close 'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど) Set db = Nothing と、これもお約束になってきましたね。 /* * 3.終わりの挨拶 */ 今回は、 ・フォームでデータを受け取り ・SQLのINSERT INTO文を使用して、 データを追加してみました。 覚えてしまえば、 テキストファイルに書いてた時とあまり変わらないですね。 素朴な疑問あったら、気軽に、 メール、掲示板に書き込んでくださいね。 ASP、VBScript勉強中の三流プログラマーのKen3でした。
No.28 | 2002/12/31 SQL ORDER BYでデータの並べ替え |
[ページTOPへ戻る] |
<SQL ORDER BYでデータの並べ替え> こんにちは、Ken3です。 データベースにアクセスできたら、 次はデータの並べ替えでしょ。 今回はデータの並べ替え(ソート)を SQLのORDER BYを使ってやってみます。 ^^^^^^^^^^^^^^ といっても、たいしたことないのでご安心を。 /* * 1.やりたいこと、データを並べ直したい */ データベース名:db026.mdb テーブル名:TEST フィールド ID オートナンバー型 F_TITLE テキスト型 F_MEMO テキスト型 WriteTime 日付型 の中身を条件指定無しで表示は、 http://www.ken3.org/cgi-bin/test/test026-1.asp で、味気ないけど出来ました。 用途に応じて、データの並び順を変えて出力したいよね。 そんなことをやりたいので、 SELECT 文の ORDER BY を使ってみます。 /* * 2.ORDER BY ? */ ORDER BY ?って何? SQLのSELECT文で指定すると、出力結果を並べ替えてくれます。 Select * From TEST ORDER BY F_TITLE みたいに、並べ替えを行うフィールドを指定します。 なんだぁ、意外と簡単なんだね。 タイトルで並べ替えを行ったサンプル、 http://www.ken3.org/cgi-bin/test/test028-1.asp <%@LANGUAGE=VBScript%> <html> <head> <title>ORDER BYで並べ替える</title> </head> <body> <h2>ORDER BYで並べ替える</h2> test028-1.asp<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("db026.mdb") 'やっとデータベースを開ける db.open 'お約束のレコードセットの作成 テーブル名TESTから全項目(*)を指定 'ORDER BY F_TITLEを追加しただけです。 Set rs = db.Execute("Select * From TEST ORDER BY F_TITLE") 'データの表示をテーブルで行う Response.Write "<TABLE Border='1'>" '見出しをバカっぽく、そのまま書き込む Response.Write "<TR>" Response.Write "<TD>ID</TD>" Response.Write "<TD>F_TITLE</TD>" Response.Write "<TD>F_MEMO</TD>" Response.Write "<TD>WrietTime</TD>" Response.Write "</TR>" 'お約束のEOFまでループは(データが無くなるまでループ)、 Do While rs.EOF = False 'レコードセットの.EOFがFalseの間 Response.Write "<TR>" '内容を表示する Response.Write "<TD>" & rs.Fields.Item("ID") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("F_TITLE") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("F_MEMO") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("WriteTime") & "</TD>" Response.Write "</TR>" '次のレコードにポインタを移動する rs.MoveNext 'これを忘れると悲惨なことに、、、 Loop Response.Write "</TABLE>" 'テーブルは終わりです '開いていたレコードセットを閉じる rs.Close 'データベースも閉じようよ db.Close 'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど) Set db = Nothing %> <hr> 終了です。<br> </body> </html> ポイントは、 ^^^^^^^^^^ 'お約束のレコードセットの作成 テーブル名TESTから全項目(*)を指定 'ORDER BY F_TITLEを追加しただけです。 Set rs = db.Execute("Select * From TEST ORDER BY F_TITLE") 変更点は、ORDER BY F_TITLEと項目名を追加しただけです。 ねっ、簡単でしょ。 /* * 3.あんなに苦労した逆順並べ替えも、DESCキーワード1つで、、、 */ 私がテキストファイルの処理で、逆にデータを読めない、、 と苦労した処理も、 ( 詳細は、http://www.ken3.org/backno/backno_asp05.html#23 の、[No.23 苦肉の策、配列をリングみたく使ってみた]を参照 ) ORDER BY 句には、DESCキーワードってあって、これを指定するだけで、 データを降順でオーダーしてくれます。 Select * From TEST ORDER BY F_TITLE DESC こんなんでOKです。 紙面のムダだけど、ソースを載せると、 <%@LANGUAGE=VBScript%> <html> <head> <title>ORDER BYで並べ替え DESCで降順です</title> </head> <body> <h2>ORDER BYで並べ替え DESCで降順です</h2> test028-2.asp<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("db026.mdb") 'やっとデータベースを開ける db.open 'お約束のレコードセットの作成 テーブル名TESTから全項目(*)を指定 'ORDER BY ID DESCを追加しただけです。 Set rs = db.Execute("Select * From TEST ORDER BY ID DESC") 'データの表示をテーブルで行う Response.Write "<TABLE Border='1'>" '見出しをバカっぽく、そのまま書き込む Response.Write "<TR>" Response.Write "<TD>ID</TD>" Response.Write "<TD>F_TITLE</TD>" Response.Write "<TD>F_MEMO</TD>" Response.Write "<TD>WrietTime</TD>" Response.Write "</TR>" 'お約束のEOFまでループは(データが無くなるまでループ)、 Do While rs.EOF = False 'レコードセットの.EOFがFalseの間 Response.Write "<TR>" '内容を表示する Response.Write "<TD>" & rs.Fields.Item("ID") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("F_TITLE") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("F_MEMO") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("WriteTime") & "</TD>" Response.Write "</TR>" '次のレコードにポインタを移動する rs.MoveNext 'これを忘れると悲惨なことに、、、 Loop Response.Write "</TABLE>" 'テーブルは終わりです '開いていたレコードセットを閉じる rs.Close 'データベースも閉じようよ db.Close 'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど) Set db = Nothing %> <hr> 終了です。<br> <A href="test026-1.asp">test026-1.asp db026.mdb内のデータを確認する</a><br> <A href="test027-2.asp">test027-2.asp データを追加する</a><br> <A href="test028-1.asp">test028-1.asp TITLEで並べ替え</a><br> </body> </html> ポイントは、 ^^^^^^^^^^^ 'お約束のレコードセットの作成 テーブル名TESTから全項目(*)を指定 'ORDER BY ID DESCを追加しただけです。 Set rs = db.Execute("Select * From TEST ORDER BY ID DESC") と、ID DESCを追加して、 IDの降順(逆順)でレコードセットが返ってきます。 あんなに苦労したのに、こんなんでいいの? って感じるくらい簡単ですよね。 SQL文、面白そうですか? それとも、 なんか自分には合わない? まぁ、相性あるけど、慣れれればなんとかなりますよ。 テストは、 http://www.ken3.org/cgi-bin/test/test028-2.asp で、降順で表示されます。 /* * 4.終わりの挨拶 */ 今回は、 ・ORDER BYで並べ替え(ソート) ・ORDER BY フィールド DESCで降順の並べ変え(大きい順) データを並べ替えてみました。 覚えてしまえば、 テキストファイルに書いてた時より楽ですね。 素朴な疑問あったら、気軽に、 メール、掲示板に書き込んでくださいね。 ASP、VBScript勉強中の三流プログラマーのKen3でした。
No.29 | 2003/01/02 復習で一言コメント入力の処理を作る |
[ページTOPへ戻る] |
<復習で一言コメント入力の処理を作る> こんにちは、Ken3です。 前回、前々回、 SQL 文を発行してMDBファイルにアクセスしました。 軽く、SELECT文、INSERT INTO文をやりました。 今回は、SQLのDELETE、UPDATEに行くと読者を思わせといて、 期待にはこたえずに、 復習で、一言コメントを受け取れる処理を作成してみたいと思います。 といっても、たいしたことないのでご安心を。 /* * 1.やりたいこと、感想を蓄積して、閲覧可能にする */ やりたいことは、HPを訪れた読者が、一言感想を書き込める。 そんなシンプルな処理をやってみたいと思います。 シンプルな、、とか、、簡単な、、とか、 日本語で書かないで、チャント仕様を書けよ。 えっと、宣伝兼ねて、 三流君の書いてるメルマガ http://www.ken3.org/guchi/ 作者の貧しい心の中が見れる愚痴系 http://www.ken3.org/vba/ VBA主にExcel/Access関係を少し http://www.ken3.org/24h/ コンビニ関係の話を少し http://www.ken3.org/asp/ ASP関係、Web上で少し遊んでます と4つあります。 このASPが一番流行ってない(笑)、う〜ん、、、 4つのメルマガあるので、 どのメルマガのどの話に対しての感想か知りたいので、 VBA No.5 今回も面白くない ASP No.7 よかったよ と、メルマガの区分とX話、感想、日時を受け取って、 作者の私が見るだけじゃなく、読者にもオープン表示したいです。 あっそ、一言感想やると、またショック受けるよキット。 いいんです。そんな話は置いといて、 データは、 データベース名:db029.mdb テーブル名:KANSOU フィールド ID オートナンバー型 F_KUBUN テキスト型 ASP,VBA,GUCHI,24Hと4つの区分 F_NO 整数型 0:は全体に対して、1〜はX話にする F_MEMO テキスト型 一言メッセージ WriteTime 日付型 書き込み日付 こんな感じでいいかなぁ。 動作は、 データ表示部 -- test029-1.asp ここでは、単純にデータを表示します。 また、感想を追加できるフォームを作成します。 データ追加部 -- test029-2.asp 単純に、受け取ったデータを追加します。 お礼のメッセージを表示します。 入力フォーム 各バックナンバーのHTMLに入れる。 こんな感じでOKかなぁ。 /* * 2.表示部を作成する */ 単純にデータを表示するんだろ、 それと、入力フォームを作成でしょ。 -- test029-1.asp -- <%@LANGUAGE=VBScript%> <html> <head> <title>コメント入力部(入力と表示)</title> </head> <body> <h2>コメント入力部(入力と表示)</h2> test029-1.asp<br> <hr> 感想を書き込んでください。<br> <FORM ACTION="test029-2.asp" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="NO" VALUE="0"> <b>メルマガ区分選択:</b><br> <INPUT TYPE="RADIO" NAME="KUBUN" VALUE="ASP" CHECKED>ASPで遊ぶ、失敗する<br> <INPUT TYPE="RADIO" NAME="KUBUN" VALUE="VBA" >VBAで楽しく<br> <INPUT TYPE="RADIO" NAME="KUBUN" VALUE="GUCHI" >愚痴系メルマガ<br> <INPUT TYPE="RADIO" NAME="KUBUN" VALUE="24H" >コンビニのオモテとウラ<br> <b>感想:</b> <INPUT TYPE="TEXT" NAME="MEMO" SIZE=60><br> <br> <INPUT TYPE="SUBMIT" VALUE="書 込"> <INPUT TYPE="RESET" VALUE="クリア"> </FORM> <hr> 今まで書き込まれたご意見・感想<br> <% 'DB内のデータを表示する '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 'お約束のレコードセットの作成 テーブル名KANSOUから全項目(*)を指定 Set rs = db.Execute("Select * From KANSOU ORDER BY WriteTime DESC") 'データの表示をテーブルで行う 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 %> <hr> 終了です。<br> </body> </html> --- 軽く、ポイントを書くと、 頭で入力用のフォームを作成 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 感想を書き込んでください。<br> <FORM ACTION="test029-2.asp" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="NO" VALUE="0"> <b>メルマガ区分選択:</b><br> <INPUT TYPE="RADIO" NAME="KUBUN" VALUE="ASP" CHECKED>ASPで遊ぶ、失敗する<br> <INPUT TYPE="RADIO" NAME="KUBUN" VALUE="VBA" >VBAで楽しく<br> <INPUT TYPE="RADIO" NAME="KUBUN" VALUE="GUCHI" >愚痴系メルマガ<br> <INPUT TYPE="RADIO" NAME="KUBUN" VALUE="24H" >コンビニのオモテとウラ<br> <b>感想:</b> <INPUT TYPE="TEXT" NAME="MEMO" SIZE=60><br> <br> <INPUT TYPE="SUBMIT" VALUE="書 込"> <INPUT TYPE="RESET" VALUE="クリア"> </FORM> と、入力用のフォームを作成してます。 ACTIONでtest029-2.aspの書込み部を指定してます。 あとは、だらだらと<INPUT TYPE"〜で入力項目を作ってます。 RADIO、ラジオボタンで選択させてるぐらいかなぁ。 DB内のデータを表示する ^^^^^^^^^^^^^^^^^^^^^^^^ '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 ここまで、前回までのお約束?で、DB029以外変えてない。 'お約束のレコードセットの作成 テーブル名KANSOUから全項目(*)を指定 Set rs = db.Execute("Select * From KANSOU ORDER BY WriteTime DESC") ここもテーブル名を変えただけ。 書込み時間の降順でデータを抽出してます。 'お約束の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 ↑0だったら、全体と置換えて表示してます。 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 これも、決り文句になってしまってる、、、面白くないなぁ。 /* * 3.データを受け取って、DBに書き込む */ 次は、データを受け取って、書込みかぁ。 これもワンパターンで、INSERT INTO文の項目名を変えただけなんですよ。 -- test029-2.asp -- <%@LANGUAGE=VBScript%> <html> <head> <title>INSERT INTO文を使用して、コメント書込み</title> </head> <body> <h2>INSERT INTO文を使用して、コメント書込み</h2> test029-2.asp<br> <hr> <% '頭で、入力パラメーターの文字数をチェックする If Len(Request.Form("MEMO")) = 0 Then Response.Write "データを入力して下さい。<br>" 'エラーメッセージの表示 Else 'データが入力されていたら、 '書き込み関数を呼ぶ(外側に出したかったので) Call TEST_WRITE() End If 'If文もここで終わり %> <HR> 終了です。<br> <A href="test029-1.asp">db029.mdb内のデータを確認する</a><br> </body> </html> <% 'データを受け取り、DBへ書き込むつもり Sub TEST_WRITE() '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 'あまり意味無いけど、変数に代入 strKUBUN = Request.Form("KUBUN") strNO = Request.Form("NO") strMEMO = Server.HTMLEncode(Request.Form("MEMO")) 'フリー入力なので 'SQL文を作る strSQL = "INSERT INTO KANSOU (F_KUBUN, F_NO, F_MEMO, WriteTime) VALUES (" strSQL = strSQL & "'" & strKUBUN & "'" '区分 strSQL = strSQL & ", " & strNO '番号 strSQL = strSQL & ", '" & strMEMO & "'" '感想メモ strSQL = strSQL & ", #" & now & "#)" '現在時刻、日付型は#で囲む 'SQL文を発行 db.Execute(strSQL) 'オマケで画面にデータ表示 Response.Write "<HR>SQL [" & strSQL & "]を発行しました<HR>" 'データベースも閉じようよ db.Close 'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど) Set db = Nothing End Sub %> ポイントは、特に無く ^^^^^^^^^^^^^^^^^^^^ 'あまり意味無いけど、変数に代入 strKUBUN = Request.Form("KUBUN") strNO = Request.Form("NO") strMEMO = Server.HTMLEncode(Request.Form("MEMO")) 'フリー入力なので で、Server.HTMLEncodeを使って、文字を変換してるぐらいです。 /* * 4.HTMLに組みこんでコメントを取る 隠し項目の利用 */ 私は、メルマガのバックナンバーを5話単位でまとめてます。 バックナンバー内で、コメントを取りたいので、 HTML文章に、 --- 感想を書き込んでください。<br> <FORM ACTION="test029-2.asp" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="KUBUN" VALUE="ASP"> <INPUT TYPE="HIDDEN" NAME="NO" VALUE="29"> <b>感想:</b> <INPUT TYPE="TEXT" NAME="MEMO" SIZE=60><br> <br> <INPUT TYPE="SUBMIT" VALUE="書 込"> <INPUT TYPE="RESET" VALUE="クリア"> </FORM> --- と入れると、 隠し項目で、 <INPUT TYPE="HIDDEN" NAME="KUBUN" VALUE="ASP"> と区分を設定、 <INPUT TYPE="HIDDEN" NAME="NO" VALUE="29"> で、どの話かわかるようにしてます。 ユーザーは、メモだけの入力に見えるけど、 隠し項目でパラメーターを送ってます。 こんなセコイ使い方もあるので、なんとなく頭のスミに入れておいてください。 /* * 5.終わりの挨拶 */ 今回は、 ・SELECT文の復習 ・INSERT INTO文の復習 ・<FORM>隠し項目の利用 で、 コメントの書込み処理を作ってみました。 なんかイマイチなサンプルだけど、 プログラムの欠陥(穴)を含めて、次回も説明していくので、ヨロシクです。 えっ、今回の欠陥、もうわかってしまった?速いなぁ一流読者は。 テストは、 http://www.ken3.org/cgi-bin/test/test029-1.asp で、出来ます。 *あと、バックナンバーのページに随時入れておくので、 コメント入力してみてください。 素朴な疑問あったら、気軽に、 メール、掲示板に書き込んでくださいね。 ASP、VBScript勉強中の三流プログラマーのKen3でした。
三流解説を読んでいただき、どうもです。ここから下は、三流君宛のメッセージ送信や 三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、※質問や感想は、気軽に送ってくださいね。
まぁ、基本はデータの受け取りかなぁ。
・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。
次は、データの入出力 で ADOを使った(ADOで接続) と SQLの解説を少々
・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。
・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。
・[ADOでCSVと接続してみた]・・・.CSV テキストを読み出した。※更新・削除はできません
DBが使えるので、あまり使用しないけど、普通のテキストファイル処理
・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽く
VBScriptでFormat関数が無いなど、微妙にVBAと違うけど
[VBScript関数関係の説明]・・・少し、処理を書いてみた。
[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。。。
何かの参考となれば幸いです。
ニガテな環境設定系など
[Win2003 Server に IIS を Setup]・・・ポイントの無い、ほぼ一本道解説だけど。
[IIS 仮想ディレクトの作成とASP動作TEST]・・・Web拡張でASPを有効にしただけです。
Blog:[三流君の作業日記]/ [サンプルコードのゴミ箱]/ 広告-[通販人気商品の足跡]
質問や要望など連絡方法でお互い確認が取りやすく、便利なのが掲示板なのですが、私の対応のまずさから不定期で荒れてしまい、掲示板は現在封鎖中です。(反省しなきゃ)
感想や質問・要望・苦情など 三流君へメッセージを送る。
時間的余裕のある要望・質問・苦情の場合は、下記のフォームからメッセージを送ることができます。