十天學會ASP之第八天
作者: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兩個字段
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
%>
大家到現在應該分析這個代碼沒有什麼問題,這個代碼的作用是接受前面一個頁面的ID然後顯示這條記錄,文本框即是輸入的地方也是顯示的地方,如果需要修改的話修改以後按提交;如果不需要修改就可以直接按提交按鈕。這裡還有一個東西以前沒有說,那就是隱藏的表單元素:hidden元素,裡面的value是不用使用者輸入的,會隨著表單一起提交,用來傳遞變數。下面是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後面的參數是1,3,這我以前提過,修改記錄就要用1,3。實際上修改記錄很容易看懂,記錄集是rs,rs("aa")就是當前記錄aa字段的東西,讓它等於新的資料request.form("aa")當然就修改了,不過最後別忘記保存,那就是rs.update!
說到這裡,記錄的搜索,讀取,修改,插入都說了,通過這最基本的東西就可以作出複雜的東西了,外面的大型數據庫:新聞系統,留言簿就是字段多一點罷了。今天的範例中的程式碼是結合以前的資料庫的,大家DOWN了以後回去調試分析一下。 (rar裡面的那個example72.asp還是供大家查詢記錄ID和核對修改以後的記錄用的)