| 以下是引用片段: <% 'Create connection / recordset 'Populate data into recordset object %> <TABLE> <% Do While not rs.EOF %> <TR> <TD ><%=rs("Field1")% ></TD> <TD ><%=rs("Field2")% ></TD> . </TR> <% rs.MoveNext Loop %> </TABLE> |
如果查询结果很多,服务器解释你的ASP script将花费大量的时间,因为有许多的Response.Write语句要处理. 如果你将输出的全部结果放在一个很长的字符串里(从 到 ),那么服务器只需解释一遍Response.Write语句,速度就会快得多 . 微软公司里的一些能干的家伙已经将想法变成了现实. (注意,这是一个ADO 2.0以上才有的特性. 如果你还在使用以前版本的话,请升级到最新版)
有了GetString方法,我们就可以仅用一个Response.Write来显示所有的输出了,它就象是能判断Recordset是否为EOF的DO ... LOOP循环。
GetString的用法如下(所有的参数都是可选的):
String = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, RowDelimiter, NullExpr)
要从Recordset的结果里生成HTML表格,我们只需关心GetString的5个参数中的3个:
ColumnDelimiter(分隔记录集的列的HTML代码),RowDelimiter(分隔记录集的行的HTML 代码),和NullExpr(当前记录为空时应生成的HTML代码)。就象你在下面生成HTML表格的例子里所看到的那样,每列用...分隔,每行用...分隔。例子的代码:
| 以下是引用片段: <%@ LANGUAGE="VBSCRIPT" %> <% Option Explicit 'Good coding technique 'Establish connection to DB Dim conn Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DSN=Northwind;" 'Create a recordset Dim rs Set rs = Server.CreateObject("ADODB.Recordset") rs.Open "SELECT * FROM table1", conn 'Store our one big string Dim strTable strTable = rs.GetString(,,"</td ><td >","</td ></tr ><tr ><td >" ," ") %> <HTML> <BODY> <TABLE> <TR ><TD> <% Response.Write(strTable) %> </TR ></TD> </TABLE> </BODY> </HTML> <% 'Cleanup! rs.Close Set rs = Nothing conn.Close Set conn = Nothing %> |
strTable字符串用于存放我们从"SELECT * FROM table1"结果生成的HTML表格的代码。
HTML表格的每列之间都将有的HTML代码,每行之间的HTML代码是. GetString方法将输出正确的HTML代码并存放在strTable中,这样我们只需一行Response.Write便可以输出数据集中的所有记录. 让我们来看个简单的例 子,假设我们的查询结果返回了以下的行和列:
| 以下是引用片段: Col1 Col2 Col3 Row1 Bob Smith 40 Row1 Ed Frank 43 Row1 Sue Void 42 |
GetString语句返回的字符串将是:
| 以下是引用片段: Bob</td ><td >Smith</td ><td >40</td ><td ></td ></tr ><tr >< td >Ed ... |
这个字符串看上去冗长而杂乱,但它就是想要的HTML代码。(注意看,我们在手工书写的HTML代码中,将放在它的后面. 这是因为我们的格式化字符串中并不含有这些表格 头尾所需的字符串。)
|
|||
| · TCP/IP协议专题 · 华为、贝恩资本22亿美.. · U盘病毒从认识到防范 · 加密与解密技术 · Windows Server 2008 .. · CISSP认证成长之路 · 802.11n:下一代的无线.. · 如何优化IT 控制能耗 |
· 华为七千人主动辞职规.. · 计算机网络维护入门 · 木马原理与防范 · 常用交换机典型配置 · VLAN技术 · 我是黑客我怕谁——讲.. · 服务器虚拟化 · Sniffer安全技术从入门.. |
||
|
|||
| · 三层交换技术专题 · SQL Server入门到精通 · 刀片服务器基础 · Windows远程桌面应用 · Solaris 10 配置管理 · Cisco IOS · 路由器设置与口令恢复 · Linux集群技术 |
· 木马原理与防范 · Exchange Server专题 · FreeBSD使用教程 · Sniffer安全技术从入门.. · 多核服务器技术 · 常用交换机典型配置 · TCP/IP协议专题 · 我是黑客我怕谁——讲.. |
||
|
|||
| · 刀片服务器基础 · 三层交换技术专题 · Windows远程桌面应用 · RAID——磁盘阵列基础 · 邮件服务器专题 · Sniffer安全技术从入门.. · 常用交换机典型配置 · Linux集群技术 |
· 路由器设置与口令恢复 · 多核服务器技术 · 网络钓鱼 · Exchange Server专题 · Windows发展史 · 木马原理与防范 · 软件插件 · MySQL基础与配置 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·ASP.NET 2.0 Web Part编.. ·ASP.NET 2.0 Web Part编.. |
·ASP.NET 2.0 Web Part编.. ·ASP.NET 2.0服务器控件之.. |
| ·11月第4周安全回顾 Googl.. ·J0ker的CISSP之路:系统.. |
·11月第3周安全回顾 小心.. ·J0ker的CISSP之路:系统.. |
| ·众人引领期盼的 Silverli.. ·Silverlight 在线教学课.. |
·Silverlight 在线教学课.. ·Silverlight 在线教学课.. |
| · 电信运营商封堵非法ADSL.. · 年初17大热门技术 年底.. · 计算机网络维护入门 |
· 黑客老鸟讲入侵攻击:怎.. · U盘病毒从认识到防范 · 网络嗅探教程:为什么要.. |
| · 测试开发人员参考手册 · BEA会被甲骨文成功收购.. · 程序员如何成长? |
· 年初17大热门技术 年底.. · 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. |
| · 微软在欧盟反垄断中输掉.. · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 |
· IBM System p技术总监谈.. · 年初17大热门技术 年底.. · IBM Power6打造最快刀片.. |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 希捷承认部分硬盘暗藏病.. · 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. |