推荐:请注意!常见的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