ADO 通过 GetString() 加速脚本 - Break易站

[

ADO 通过 GetString() 加速脚本

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

多行 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.MoveNext

loop%>

</table>

<%

rs.close

conn.close

set rs = Nothing

set conn = Nothing

%>

</body>

</html>

对于一个大型的查询来说,这样做会增加脚本的处理时间,这是由于服务器需要处理大量的 Response.Write 命令。
解决的办法是创建全部字符串,从

,然后将其输出 - 只使用一次 Response.Write。

GetString() 方法

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

语法

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() 方法,把记录集存为一个字符串:

实例


<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

str=rs.GetString(,,"</td><td>","</td></tr><tr><td>","&nbsp;")

%>

<table border="1" width="100%">

  <tr>

    <td><%Response.Write(str)%></td>

  </tr>

</table>

<%

rs.close

conn.close

set rs = Nothing

set conn = Nothing

%>

</body>

</html>

上面的变量 str 包含着由 SELECT 语句返回的所有列和行的一个字符串。在每列之间会出现

]
转载请保留页面地址:https://www.breakyizhan.com/asp/18430.html

posted on 2020-07-13 21:21  MrAit  阅读(146)  评论(0编辑  收藏  举报

导航