在ASP中使用斷開的記錄集 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 在ASP中使用斷開的記錄集 (http://www.webasp.net/article/18/17579.htm) |
| -- 作者:未知 -- 發佈日期: 2005-04-18 |
| 我們在使用ASP 內置的ADO組件進行數據庫編程時,通常是在腳本的開頭打開一個連接,並在腳本的最後關閉它,但是就較大腳本而言,在多數情況下連接打開的時間要比它需要打開的時間長得多。因此為了節省服務器資源,應該盡可能關閉連接以釋放連接所佔有的資源,這種關閉記錄集的連接而不關閉記錄集的技術叫做斷開記錄集,這個記錄集本身則稱為斷開的記錄集。 下面我們就通過一個實例來說明這種技術的使用方法(NorthWind.mdb是Microsoft Access自帶的一個數據庫,文件adovbs.inc可在C:\Program Files\Common Files\System\ADO下找到): <% @LANGUAGE = VBScript %> <% 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 "" '下面使用斷開的記錄集 Do While (Not objRS.EOF) strOut = objRS("運貨商ID") & ", " & objRS("公司名稱") & ", " & objRS("電話") Response.Write Server.HTMLEncode(strOut) & "" objRS.MoveNext Loop Response.Write " 準備新增或插入記錄: " '若需要更新數據庫, 則要重新建立連接 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 "符合該條件的記錄不存在, 則新增. " Else objRS("電話") = "571-7227071" Response.Write "符合該條件的記錄存在, 則 Update." objRS.Update End If Set objRS.ActiveConnection = Nothing Cnn.close Set Cnn = Nothing objRS.Close Set objRS = Nothing Response.Write "" %> |
| webasp.net |