ASP网页编程之ASP法式功能测试呈报(四)
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了. 另外大家可以回去问问公司里的小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做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 不能只是将它停留在纸上谈兵的程度上。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 掌握asp的特性而且一定要知道为什么。 Session:这个存储跟客户端会话过程的数据,默认20分钟失效 不能只是将它停留在纸上谈兵的程度上。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 不能只是将它停留在纸上谈兵的程度上。
页:
[1]