| 贵州学习网—属于你的学习中心 |
|
%> 对于不同的数据,可以编写类似的函数代码。 数据应该按什么格式保存?任何变量类型都可以,因为所有的脚本变量都是不同的。比如说,可以保存为字符串、整型或者数据。通常,将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方式 |
责任编辑:gzu521