在ASP中使用断开的记录集
来源:互联网 发布:网络对文化的影响 编辑:程序博客网 时间:2024/06/05 06:52
我们在使用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 ""
%>
下面我们就通过一个实例来说明这种技术的使用方法(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 ""
%>
- 在ASP中使用断开的记录集
- 在Asp中使用断开式数据库连接
- 如何使用 VBScript 在 ASP 中创建不连续的 ADO 记录集
- 在ASP.NET MVC中使用Log4Net进行多种HttpCode日志的记录
- 在ASP中处理数据库的NULL记录
- 在ASP中处理数据库的NULL记录
- 在asp中,怎样实现只显示指定的记录?
- 今天在使用C#的ASP.NET给Access的数据库中添加新记录发现的问题
- 在ASP中轻松实现记录集分页显示
- 在ASP中轻松实现记录集分页显示
- 在ASP.NET MVC 4 on Mono中使用OracleClient in CentOS 6.x的问题记录
- 如何断开数据库中正在使用的所有用户
- 在ASP.NET中记录错误日志
- ASP中记录的分页
- ASP中记录的分页
- 译:在ASP.NET MVC5中如何使用Apache log4net 类库来记录日志
- 在ASP.NET MVC5中如何使用Apache log4net 类库来记录日志
- 关于在使用(function(){})();中遇到的问题的记录
- 防止类继承,摘自Bjarne的faq(紫云英译)
- Windows编程之计时器
- 重色松垮 男人下半身大有学问
- [收藏]ASP.Net生成静态HTML页
- 日期验证问题
- 在ASP中使用断开的记录集
- 案例研究:为什么开发人员采用 Windows Mobile 平台
- [windows安全设置]Win 2000安全审核策略让入侵者无处遁形
- WINDOWS下对音频的处理过程
- 解决dotproject的甘特图乱码问题
- Smartphone 应用程序安全与代码签名模型开发人员实用指南
- VC++中播放声音的方法
- BI工具(美国pervasive公司数据集成产品)
- JavaExcelApi指南