学习网考试学习资料

Gzu521.com

如何增强ASP程序性能(3)

ASP教程   点击:次   发布时间:2006-7-13   【字体: 】   来源:Gzu521.com
贵州学习网—属于你的学习中心
%>

对于不同的数据,可以编写类似的函数代码。

数据应该按什么格式保存?任何变量类型都可以,因为所有的脚本变量都是不同的。比如说,可以保存为字符串、整型或者数据。通常,将ado记录集的内容存储到这些变量类型中一个。为了从ado记录集中取出数据,需要手工地拷贝数据到vbscript变量中,每次一个字段。使用任意一个ado记录集的函数functions getrows(),getstring() 或者 save() (ado 2.5)都非常得快速而且简单,这里有个函数,描述了如何使用getrows()返回记录集数据的数组:
 程序代码
" get recordset, return as an array
function fetchemploymentstatuslist
dim rs 
set rs = createobject("adodb.recordset")
rs.open "select statusname, statusid from employeestatus", _
"dsn=employees;uid=sa;pwd=;"
fetchemploymentstatuslist = rs.getrows() " return data as an array
rs.close
set rs = nothing
end function


上述代码的一个更深的技巧是为列表缓存了html。下面是个简单的例子:
 程序代码
" get recordset, return as html option list
function fetchemploymentstatuslist
dim rs, fldname, s
set rs = createobject("adodb.recordset")
rs.open "select statusname, statusid from employeestatus", _
"dsn=employees;uid=sa;pwd=;"
s = "<select name=""employmentstatus">" & vbcrlf
set fldname = rs.fields("statusname") " ado field binding
do until rs.eof
" next line violates don"t do string concats,
" but it"s ok BECause we are building a cache
s = s & " <option>" & fldname & "</option>" & vbcrlf
rs.movenext
loop
s = s & "</select>" & vbcrlf
rs.close
set rs = nothing " see release early
fetchemploymentstatuslist = s " return data as a string
end function


在合适的环境下,可以在application或者session中缓存ado记录集本身,但是有2点提示: 

ado必须是自由线程标记的 
需要使用disconnected recordset方式 

上一页 下一页
本文共4页: 第 [1] [2] 3 [4]

责任编辑:gzu521

网络编程分类
ASP教程
.Net教程
Java教程
PHP教程
数据库基础
ACCESS教程
SQL Server教程
MySQL教程
Oracle教程
分类推荐信息
更多...
大类最新文章
更多...