推薦:請注意!常見的ASP腳本攻擊及防範技巧由於ASP的方便易用,越來越多的網站後台程序都使用ASP腳本語言。但是, 由於ASP本身存在一些安全漏洞,稍不小心就會給黑客提供可乘之機。事實上,安全不僅是網管的事,編程人員也必須在某些安全
我們在使用ASP 內置的ADO組件進行數據庫編程時,通常是在腳本的開頭打開一個連接,並在腳本的最後關閉它,但是就較大腳本而言,在多數情況下連接打開的時間要比它需要打開的時間長得多。因此為了節省服務器資源,應該盡可能關閉連接以釋放連接所佔有的資源,這種關閉記錄集的連接而不關閉記錄集的技術叫做斷開記錄集,這個記錄集本身則稱為斷開的記錄集。
下面我們就通過一個實例來說明這種技術的使用方法(NorthWind.mdb是Microsoft Access97自帶的一個數據庫,文件adovbs.inc可在C:/Program Files/Common Files/System/ADO下找到):
| 以下為引用的內容: <% @LANGUAGE = VBScript %> <!--#include file=adovbs.inc--> <% Response.Expires = 0 Dim Cnn,objRS, strOut, strQ, strC StrC= Driver={Microsoft Access Driver (*.mdb)}; DBQ= & Server.MapPath(/asp24) & /NorthWind.mdb; '建立連接 Set Cnn = Server.CreateObject(ADODB.Connection) Cnn.Open StrC '創建Recordset對象 Set objRS = Server.CreateObject(ADODB.Recordset) objRS.CursorLocation =adUseClient objRS.CursorType = adOpenStatic objRS.LockType = adLockOptimistic strQ = SELECT 運貨商ID, 公司名稱, 電話FROM 運貨商 objRS.Open strQ, Cnn, , , adCmdText Set objRS.ActiveConnection = Nothing '斷開記錄集 Cnn.Close '關閉連接 Set Cnn = Nothing Response.Write <HTML><BODY> '下面使用斷開的記錄集 Do While (Not objRS.EOF) strOut = objRS(運貨商ID) & , & objRS(公司名稱) & , & objRS(電話) Response.Write Server.HTMLEncode(strOut) & <BR> objRS.MoveNext Loop Response.Write <BR>準備新增或插入記錄: '若需要更新數據庫, 則要重新建立連接 Set Cnn = Server.CreateObject(ADODB.Connection) Cnn.Open strC Set objRS.ActiveConnection = Cnn objRS.Filter = 公司名稱= '吳豐' If objRS.EOF Then objRS.AddNew objRS(公司名稱) = 吳豐 objRS(電話) = 571-7227298 objRS.Update Response.Write 符合該條件的記錄不存在, 則新增.<BR> Else objRS(電話) = 571-7227071 Response.Write 符合該條件的記錄存在, 則Update.<BR> objRS.Update End If Set objRS.ActiveConnection = Nothing Cnn.close Set Cnn = Nothing objRS.Close Set objRS = Nothing Response.Write </BODY></HTML> %> |
分享:ASP技巧實例:使用ASP記錄在線用戶的數量網絡的訪問量是每一個做網站的網友們都非常關心的問題。如何得知有多少個人正在訪問你的網站呢?如何將每天的訪問量記錄下來? 下面就是一個解決方案。當有用戶開始訪問網站時,服務器端的Gl