课程表

VBScript 教程

VBScript 实例

VBScript 参考手册

ASP 教程

ASP 高级

ASP 组件

AJAX 与 ASP

ASP 参考/总结/实例

ADO 教程

ADO 对象

ADO 总结/实例

工具箱
速查手册

ADO 加速

当前位置:免费教程 » 程序设计 » ASP/ADO/VBScript

请使用 GetString() 方法来加速您的 ASP 脚本(来代替多行的 Response.Write)。

实例

使用 GetString()
如何使用 GetString() 在 HTML 表格中显示记录集中的数据。

多行 Response.Write

下面的例子演示了在 HTML 表格中显示数据库查询的一种方法:

  1. <html>
  2. <body>
  3.  
  4. <%
  5. set conn=Server.CreateObject("ADODB.Connection")
  6. conn.Provider="Microsoft.Jet.OLEDB.4.0"
  7. conn.Open "c:/webdata/northwind.mdb"
  8.  
  9. set rs = Server.CreateObject("ADODB.recordset")
  10. rs.Open "SELECT Companyname, Contactname FROM Customers", conn
  11. %>
  12.  
  13. <table border="1" width="100%">
  14. <%do until rs.EOF%>
  15. <tr>
  16. <td><%Response.Write(rs.fields("Companyname"))%></td>
  17. <td><%Response.Write(rs.fields("Contactname"))%></td>
  18. </tr>
  19. <%rs.MoveNext
  20. loop%>
  21. </table>
  22.  
  23. <%
  24. rs.close
  25. conn.close
  26. set rs = Nothing
  27. set conn = Nothing
  28. %>
  29.  
  30. </body>
  31. </html>

对于一个大型的查询来说,这样做会增加脚本的处理时间,这是由于服务器需要处理大量的 Response.Write 命令。

解决的办法是创建全部字符串,从 <table> 到 </table>,然后将其输出 - 只使用一次 Response.Write。

GetString() 方法

GetString() 方法使我们有能力仅使用一次 Response.Write,就可以显示所有的字符串。同时它甚至不需要 do..loop 代码以及条件测试来检查记录集是否处于 EOF。

语法

  1. str = rs.GetString(format,rows,coldel,rowdel,nullexpr)

如需使用来自记录集的数据创建一个 HTML 表格,我们仅仅需要使用以上参数中的三个(所有的参数都是可选的):

  • coldel - 用作列分隔符的 HTML
  • rowdel - 用作行分隔符的 HTML
  • nullexpr - 当列为空时所使用的 HTML

注释:GetString() 方法是 ADO 2.0 的特性。您可从下面的地址下载 ADO 2.0:http://www.microsoft.com/data/download.htm

在下面的例子中,我们将使用 GetString() 方法,把记录集存为一个字符串:

  1. <html>
  2. <body>
  3.  
  4. <%
  5. set conn=Server.CreateObject("ADODB.Connection")
  6. conn.Provider="Microsoft.Jet.OLEDB.4.0"
  7. conn.Open "c:/webdata/northwind.mdb"
  8.  
  9. set rs = Server.CreateObject("ADODB.recordset")
  10. rs.Open "SELECT Companyname, Contactname FROM Customers", conn
  11.  
  12. str=rs.GetString(,,"</td><td>","</td></tr><tr><td>","&nbsp;")
  13. %>
  14.  
  15. <table border="1" width="100%">
  16. <tr>
  17. <td><%Response.Write(str)%></td>
  18. </tr>
  19. </table>
  20.  
  21. <%
  22. rs.close
  23. conn.close
  24. set rs = Nothing
  25. set conn = Nothing
  26. %>
  27. </body>
  28. </html>

上面的变量 str 包含着由 SELECT 语句返回的所有列和行的一个字符串。在每列之间会出现 </td><td>,在每行之间会出现 </td></tr><tr><td>。这样,仅使用一次 Response.Write,我们就得到了需要的 HTML。

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号