120 likes | 216 Views
ASP 入門2. ー授業でアンケート集計ー. ねらい. 総合実習等で、相互評価を行った際の集計を ASP + AccessDB で行う。 相互評価の点数部分は見られないように、感想部分(テキスト)は見えるようにする。 ( 発表直後のフィードバック ) AccessDB に蓄積した得点は、 Excel ファイルを経由して平常点の一部として活用する。 ( 8クラスで1時間程度の作業 ). 昨年の場合 34(sheets/Gr)*7(Gr)*8(Class)=1904(sheets). ディレクトリ構造.
E N D
ASP入門2 ー授業でアンケート集計ー
ねらい 総合実習等で、相互評価を行った際の集計をASP+AccessDBで行う。 • 相互評価の点数部分は見られないように、感想部分(テキスト)は見えるようにする。(発表直後のフィードバック) • AccessDBに蓄積した得点は、Excelファイルを経由して平常点の一部として活用する。(8クラスで1時間程度の作業) 昨年の場合34(sheets/Gr)*7(Gr)*8(Class)=1904(sheets)
ディレクトリ構造 • サーバー上には、生徒から見える領域に public、見えない領域に hidden があるとする。 • IISの仮想ディレクトリは hidden で定義http://mghsvr/hidden/で、ここのトップページが表示されるとする。 • public/index.htmlを置き、ここを生徒の入口とする。生徒の作品はここに置かせる。生徒から変更可能 • public/index.html にはフルパスでhttp://mghsvr/hidden/top.aspを置く。相互評価DBはここに置く。生徒はコントロールできない。生徒はアクセス不可。生徒は相互評価の結果を自由に見ることはできない。
ASPからAccessDBへの接続 • ODBC(Open DataBase Connectivity)接続サーバへデータソースの名前を登録し、この名前で接続する方法。今回は多数のデータベースを使用するため、この方法はとらない。 • DSN-Less接続データソース名をASPコードの中に記述する方法。今回は、各発表班ごとにディレクトリを切って管理するため、データソースも共通の名前を使用する。そのため、こちらの方法を採用する。
プログラムの流れ1(データ入力) • 値を入力(form.html)htmlのinput文で入力した値をpost先をcheck.aspとして渡す。 • 入力値の確認(check.asp)request.form()で値を受け取り、チェックしてから値を保持、send.aspへ渡す。 • 入力値をAccessDBへ記録(send.asp) DBへ接続し、request.form()で値を受け取ってから1レコード分のデータを持ったSQL分を作成し、これを実行(Obj_name.Execute(SQL_sentence))する。実行後DBへの接続を解除する。
プログラムの流れ2(データ出力) 入力された感想の表示(show.asp)DB(db1.mdb)へ接続し、DB内部のテーブル(table1)からidの順番に従って1レコードを取り出し、表示する。 これをeofが出るまで繰り返す。(Do until ObjRS.EOF~ObjRS.MoveNext~Loop)DBへの接続を解除する。
データベースへの接続 Set ObjConn = Server.CreateObject("ADODB.Connection") ☆ObjConnという文字変数にADODBにより接続された サーバーのオブジェクトをセットすることにする。 ObjConn.open “Driver={Microsoft Access Driver (*.mdb)}; DBQ=” &Server.Mappath("db1.mdb") ☆ サーバ上の、このファイルと同じディレクトリにある db1.mdbにAccess用ドライバを用いて接続する。
データベースから値を入手 Server.CreateObject("ADODB.Recordset").Open select * from table1 order by id , Server.CreateObject("ADODB.Connection") ☆ サーバ上のADO接続されたオブジェクトのtable1からidの順に抽出したレコードに接続する。 ☆ レコード:1行分のデータ
データベースへデータを書き込む Server.CreateObject(“ADODB.Connection”).Execute (insert into table1(“データ名”) values (“データ値”)) ☆ パラメータとしてSQL命令を持ち、ADO接続されたDBに対し実行する。
データベースへの接続解除 ObjRS.Close Set ObjRS = Nothing ☆ADO接続されたレコードを閉じて、定数としてのレ コードをクリヤ ObjConn.Close Set ObjConn = Nothing ☆ADO接続を閉じて、定数としての接続名をクリヤ
課題 form.html,check.asp,send.asp,show.aspを改造して質問数4(適当な質問を考えて下さい)+感想を入力し、表示するシステムを作ってみましょう。
参考図書 • ASPによるWebアプリケーションスーパーサンプル 西沢直木 著 ソフトバンク社ASPの初歩から応用まで、サンプルコードを示して解説している。このコードをいじるだけで相当の応用は利きそう。今回のタネ本。オススメ! • プチリファレンス ASP山田 祥寛 著 秀和システム社ASP・VBScriptなどで不明なところを調べるために使用しました。