10日間でASPを学ぶ8日目
著者:Eve Cole
更新時間:2009-06-20 17:22:00
学習目的:データベースの基本操作を学ぶ4(レコードの変更)
まずコードを見てみましょう:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("test.mdb")//これは前のデータベースではありません。フィールドは aa と bb の 2 つだけです。
exec="select * from test where id="&request.querystring("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn
%>
<form name="form1" method="post" action="modifysave.asp">
<table width="748" border="0" cellpacing="0" cellpadding="0">
<tr>
<td>ああ</td>
<td>bb</td>
</tr>
<tr>
<td>
<input type="text" name="aa" value="<%=rs("aa")%>">
</td>
<td>
<input type="text" name="bb" value="<%=rs("bb")%>">
<input type="submit" name="submit" value="submit">
<input type="hidden" name="id" value="<%=request.querystring("id")%>">
</td>
</tr>
</テーブル>
</form>
<%
rs.close
rs=何も設定しない
接続閉じる
conn=何も設定しない
%>
このコードには何も問題がないことがわかりました。このコードの機能は、前のページの ID を受け入れ、必要に応じてこのレコードを表示することです。変更するには、変更を加えずに送信ボタンを押すだけでよい場合は、変更後に送信を押します。ここには、これまでに言及されていないもう 1 つの要素があります。それは、非表示のフォーム要素です。非表示の要素は、ユーザーが内部の値を入力する必要はなく、フォームと一緒に送信され、変数を渡すために使用されます。 。以下は、modifysave.asp のコードです。
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={Microsoft アクセス ドライバー (*.mdb)};dbq="&server.mappath("test.mdb")
exec="select * from test where id="&request.form("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
rs("aa")=リクエスト.フォーム("aa")
rs("bb")=リクエスト.フォーム("bb")
rs.アップデート
rs.close
rs=何も設定しない
接続閉じる
conn=何も設定しない
%>
ここで、rs.open exec,conn,1,3 に続くパラメータは 1,3 です。前述したように、レコードを変更するには 1,3 を使用する必要があります。実際、レコードを変更する場合は、rs("aa") が現在 aa フィールドを記録していることを理解するのが簡単です。 もちろん、これを新しいデータと等しくします。 、変更されますが、最後に保存するのを忘れた場合は、rs.update を変更しないでください。
そういえば、レコードの検索、読み取り、変更、挿入についてはすべて言及しましたが、これらの最も基本的な機能を使用することで、ニュース システムやゲスト ブックなどの複雑なデータベースを外部に作成することができます。今日の例のコードは前のデータベースと結合されています。ダウンロード後に戻ってデバッグおよび分析してください。 (rar 内の example72.asp は、誰もがレコード ID を照会し、変更されたレコードを確認するためのものです)