再來小總結一下:對資料庫的操作無非就是
顯示記錄,插入記錄,修改記錄,刪除記錄,查詢記錄。
並且在有關顯示記錄的時候還涉及到顯示的輸出格式、分頁程式,那麼再結合插入記錄,一個簡單的新聞系統,文章系統,留言系統,註冊登陸系統不成任何問題。
下面就涉及到管理這塊,需要對資料庫記錄進行修改。
首先,要修改哪條
修改,不是籠而統之的,而是要針對某條具體對相應修改。可以形象地說,就是對資料庫表中的具體哪一行進行具體的修改。
所以,這時候的記錄集就有它特定的某個,當然這個主要還是由SQL語句來決定的。
比如 sql="select * from table where id=1" 就表示提取的id編號是1的那行的所有記錄,然後只要將該行中需要修改的欄位賦以新值然後上傳資料庫就OK了。
同樣的語句 sql="select * from table where id=2" 相信你也能明白。
但作為我們在頁面中,可不是就這樣固定的,有可是選擇某串連,或者輸入某表單值……跳轉到專門的修改頁,這樣所有的任務全在修改頁上了,它所具備的SQL語句應該是適應性強的
比如 sql="select * from table where id="&request.queyrstring("id")
其次,將要修改的對應賦值
很簡單,正如插入記錄一樣,將欄位和值對應起來。
rs("cn_name")="cnbruce"
rs("cn_sex")="male"
對應的值當然也可以是某個變數或函數
最後,上傳更新資料庫
和插入一樣進行rs.updata ,其實觀察下來,插入新記錄和更新記錄只是多了rs.addnew這行的聲明。
1,showit.asp
該檔案是前面例中所建立引用的。其主要是顯示的作用,那麼現在,針對具體的某條記錄增加跳轉到修改頁的超級連結。
<% For i = 1 to rs.PageSize '利用for next 迴圈依次讀出當前頁的記錄 if rs.EOF then Exit For end if response.write("<a href=change.asp?id="& rs("cn_id") &">修改</a>") response.write("文章標題是:"& rs("cn_title")) response.write("<br>文章作者是:"& rs("cn_author")) response.write("<br>文章加入時間是:"& rs("cn_time")) response.write("<br>文章內容是:"& rs("cn_content")) response.write("<hr>") rs.MoveNext Next %> |
注意response.write("<a href=change.asp?id="& rs("cn_id") &">修改</a>")
後面的參數id的值則是動態,那接著就看chang.asp的能耐了。
2,change.asp
<!--#include file="conn.asp" --> <% id=request.querystring("id") %><%if request.form("submit")="change" then whattitle=request.form("title") whoauthor=request.form("author") whatcontent=request.form("content") id=request.form("id") Set rs = Server.CreateObject ("ADODB.Recordset") sql = "Select * from cnarticle where cn_id="&id rs.Open sql,conn,3,2 rs("cn_title")=whattitle rs("cn_author")=whoauthor rs("cn_content")=whatcontent rs.update rs.close Set rs = Nothing conn.close set conn=Nothing response.redirect("showit.asp") response.end %> <%end if%> <% if id<>"" then Set rs = Server.CreateObject ("ADODB.Recordset") sql="select * from cnarticle where cn_id="&id rs.Open sql,conn,1,1 whattitle=rs("cn_title") whoauthor=rs("cn_author") whatcontent=rs("cn_content") end if %> <form action="change.asp" method="post"> Title:<input type="text" name="title" value=<%=whattitle%>><br> Author:<input type="text" name="author" value=<%=whoauthor%>><br> Content:<br> <textarea name="content" rows="8" cols="30"><%=whatcontent%></textarea><br> <input type="submit" value="change" name="submit"> <input type="reset" value="Reset"> <input name="id" type="hidden" value="<%=id%>"> </form> |
當然所有的檢察,安全防護都還沒做,BUG多多,自己也來慢慢解決。
另外一類的修改更新
<%if request.form("submit")="change" then whattitle=request.form("title") whoauthor=request.form("author") whatcontent=request.form("content") id=request.form("id")sql = "update cnarticle set cn_title='"&whattitle&"',cn_author='"&whoauthor&"',cn_content='"&whatcontent&"' where cn_id="&id conn.Execute(sql) conn.close set conn=Nothing response.redirect("showit.asp") response.end %> |