站长论坛 站长下载 站长工具 小说阅读 域名主机 源码商城

ADO初学者教程:ADO 通过GetString()加速脚本

[ 来源:互联网 | 作者:站长胡同站整理 |  时间:2007-10-12 14:37:17 | 浏览:58次 ]

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


实例

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

多行Response.Write

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

<html><body><%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"set rs = Server.CreateObject("ADODB.recordset")rs.Open "SELECT Companyname, Contactname FROM Customers", conn%><table border="1" width="100%"><%do until rs.EOF%>   <tr>      <td><%Response.Write(rs.fields("Companyname"))%></td>      <td><%Response.Write(rs.fields("Contactname"))%></td>   </tr><%rs.MoveNextloop%></table><%rs.closeconn.closeset rs = Nothingset conn = Nothing%></body></html>

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

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


GetString() 方法

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

语法

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

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

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

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

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

<html><body><%set conn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.Jet.OLEDB.4.0"conn.Open "c:/webdata/northwind.mdb"set rs = Server.CreateObject("ADODB.recordset")rs.Open "SELECT Companyname, Contactname FROM Customers", connstr=rs.GetString(,,"</td><td>","</td></tr><tr><td>","&nbsp;")%><table border="1" width="100%">  <tr>    <td><%Response.Write(str)%></td>  </tr></table><%rs.closeconn.closeset rs = Nothingset conn = Nothing%></body></html>

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


责编:天羽

发表评论

  称  呼:
  内  容:
 

最新教程

热门教程

推荐广告

本站推荐