先來看代碼:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("test.mdb")//這不是以前的一個(gè)數(shù)據(jù)庫,里面就aa,bb兩個(gè)字段
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" cellspacing="0" cellpadding="0">
<tr>
<td>aa</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="提交">
<input type="hidden" name="id" value="<%=request.querystring("id")%>">
</td>
</tr>
</table>
</form>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
大家到現(xiàn)在應(yīng)該分析這個(gè)代碼沒有什么問題,這個(gè)代碼的作用是接受前面一個(gè)頁面的ID然后顯示這條記錄,文本框即是輸入的地方也是顯示的地方,如果需要修改的話修改以后按提交;如果不需要修改就可以直接按提交按鈕。這里還有一個(gè)東西以前沒有說,那就是隱藏的表單元素:hidden元素,里面的value是不用用戶輸入的,會(huì)隨著表單一起提交,用于傳遞變量。下面是modifysave.asp的代碼:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.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")=request.form("aa")
rs("bb")=request.form("bb")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
在這里,rs.open exec,conn,1,3后面的參數(shù)是1,3,這我以前提過,修改記錄就要用1,3。實(shí)際上修改記錄很容易看懂,記錄集是rs,rs("aa")就是當(dāng)前記錄aa字段的東西,讓它等于新的數(shù)據(jù)request.form("aa")當(dāng)然就修改了,不過最后別忘記保存,那就是rs.update!