仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2384|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网页编程之ASP法式功能测试呈报(四)

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:26:14 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了. 另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)法式|功能   5、利用纪录集时是不是应当创立独自的毗连对象?

   要准确地回覆这个成绩,咱们必需剖析两种分歧前提下的测试:第一,页面只要一个数据库事务;第二,页面有多个数据库事务。

   在前例中,咱们创立了一个独自的Connection对象并将它赋给Recordset的ActiveConnection属性。但是,如ADO__03.asp所示,咱们也能够直接把毗连串赋给ActiveConnection属性,在剧本中初始化和设置装备摆设Connection对象这一额定的步调可以省去。

objRS.ActiveConnection = Application("Conn")

   固然Recordset对象仍然要创立一个毗连,但此时的创立是在高度优化的前提下停止的。因而,与上一次测试比拟,页面开支又下落了23%,并且如预期的一样,单个纪录的显示工夫没有本色的变更。

   因而,咱们的第二个划定规矩以下:

l    假如只利用一个纪录集,直接把毗连串赋给ActiveConnection属性。

   接上去咱们反省页面用到多个纪录集时,上述划定规矩是不是仍然无效。为测试这类情况,咱们引入一个FOR轮回将前例反复10次。在这个测试中,咱们将研讨三种变更:

   第一,如ADO__04.asp所示,在每个轮回中创立和撤除Connection对象:

Dim i
For i = 1 to 10

   Set objConn = Server.CreateObject("ADODB.Connection")
   objConn.Open Application("Conn")

   Set objRS = Server.CreateObject("ADODB.Recordset")
   objRS.ActiveConnection = objConn
   objRS.CursorType = 0 'adOpenForwardOnly
   objRS.LockType = 1 'adLockReadOnly
   objRS.Open Application("SQL")
   
   If objRS.EOF Then
      Response.Write("No Records Found")
   Else
      'write headings
      ...
      'write data
      ...
   End If

   objRS.Close
   Set objRS = Nothing
   objConn.Close
   Set objConn = Nothing
   
Next

   第二,如ADO__05.asp所示,在轮回里面创立Connection对象,一切纪录集同享该对象:

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open Application("Conn")

Dim i
For i = 1 to 10
   Set objRS = Server.CreateObject("ADODB.Recordset")
   objRS.ActiveConnection = objConn
   objRS.CursorType = 0 'adOpenForwardOnly
   objRS.LockType = 1 'adLockReadOnly
   objRS.Open Application("SQL")

   If objRS.EOF Then
      Response.Write("No Records Found")
   Else
      'write headings
      ...
      'write data
      ...
   End If

   objRS.Close
   Set objRS = Nothing

Next
objConn.Close
Set objConn = Nothing

   第三,如ADO__06.asp所示,在每个轮回内把毗连串赋给ActiveConnection属性:

Dim i
For i = 1 to 10

   Set objRS = Server.CreateObject("ADODB.Recordset")
   objRS.ActiveConnection = Application("Conn")
   objRS.CursorType = 0 'adOpenForwardOnly
   objRS.LockType = 1 'adLockReadOnly
   objRS.Open Application("SQL")

   If objRS.EOF Then
      Response.Write("No Records Found")
   Else
      'write headings
      ...
      'write data
      ...
   End If

   objRS.Close
   Set objRS = Nothing
Next


   就象咱们可以料想到的一样,在轮回内创立和撤除毗连对象是效力最差的办法。不外,使人惊奇的是,在轮回内直接把毗连串赋给ActiveConnection属性只比同享单个毗连对象略微慢了一点。

   虽然如斯,第三划定规矩应当为:

l    统一页面内用到多个纪录集时,创立单一的毗连对象并经由过程ActiveConnection属性同享它。
</p>  楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-22 17:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表