今日は管理機能を備えた掲示板プログラムを作成します。いわゆる管理機能とは、実際には各メッセージの前に選択ボックスがあることを意味し、削除するメッセージをクリックするか、「すべてのメッセージを削除」をクリックして一括削除を完了します。この例を通じて、ASP でのデータベースの基本操作を予備的に理解することができます。
1. データベースを構築します (ACCESS2000 中国語版)
myid テキスト タイプ 20 バイト これが唯一の音声記号です
myname テキストタイプ 10 バイト これはメッセージを残した人の名前です
nowtime 日付/時刻タイプ メッセージ時刻がここに記録されます
mytitle テキストタイプ 30 バイト これはメッセージのタイトルです
mybody発言メッセージ内容
myid フィールドがキーであり、これが削除の唯一の兆候です。
2. 管理プログラム
manage.asp コード
'最初に変数を定義します
ディム リスター、conn、cmd
' i のサイクル数は、実際のメッセージ数に応じて変更できます
i=1 ~ 100 の場合
request("delit"&i)<>空の場合
'上記のステートメントがキー部分です。i 番目のメッセージが選択されているかどうかを確認し、選択されている場合は、次の削除操作を実行します。
set conn = Server.CreateObject("ADODB.Connection")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;データ ソース="&Server.MapPath("guestbook.mdb")&";"
'mappath 関数は、接続するデータベースを示すパラメーター guestbook.mdb を使用します。パスの問題に注意してください。
conn.Open sConnection
'データテーブルを再接続します
set cmd=Server.Createobject("ADODB.Command")
set cmd.activeconnection=conn
cmd.commandtext="myid='"&request("delit"&i)&"'" のゲストから削除
'上記のguestはデータテーブルのテーブル名、myidはフィールド名です
cmd.execute
conn=何も設定しない
cmd=何も設定しない
'SQL命令を実行してオブジェクトを解放します
終了する場合
次
'フォームを出力します。action 属性が manage.asp を指していることに注意してください。
応答.書き込み ""
'データベースに接続します
set conn=Server.CreateObject("ADODB.Connection")
set listrs=server.createobject("ADODB.Recordset")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;データ ソース="&Server.MapPath("guestbook.mdb")&";"
conn.Open sConnection
listrs.open "ゲストから * を選択",conn,2,2
'データベースのゲストテーブルが上で開かれます
i=1
'変数 i がカウントを開始します
listrs.eof ではありませんが
response.write "From:"&listrs("myname")&"----"&listrs("mytitle")&"Time:"&listrs("nowtime")&"
"&listrs("私の身体")&"
」
i=i+1
'上記の 2 つの手順が重要なポイントです。各メッセージを出力する際に、このボックスの機能は、チェックを入れた場合とチェックを外した場合に異なる値を返すことです。
listrs.movenext
曲がります
set listrs=なし
'送信ボタンとフォーム終了フラグを出力
response.write
3. コード分析
コードはわかりにくいので説明します。
1. プログラムを初めて実行するとき、request("delit"&i)<>empty の場合、チェック ボックスが選択されていないため常に false 値が返され、すべてのメッセージが出力されます。
2. 削除するメッセージを選択後、「削除ボタン」を押して再実行してください。
3. 選択したメッセージをすべて削除した後、メッセージボードを出力します。