使用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命令必须由服务器进行处理。
该解决方案是已经在整个字符串创建,从<table>到</ TABLE>,然后将其输出-使用回复于一次。
该GetString()方法
该GetString()方法可以让你只用一个的Response.Write显示的字符串。 它也消除了DO ... LOOP代码和条件测试来检查,如果记录是EOF。
句法
str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
要创建从记录数据的HTML表格,我们只需要使用三个以上的参数(all parameters are optional) :
- COLDEL - 的HTML为柱分离器使用
- rowdel - 的HTML作为行分隔符使用
- nullexpr - 使用HTML列是否为NULL
Note:所述的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>"," ")
%>
<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变量包含由SQL SELECT语句返回的所有列和行的字符串。 每一列中的HTML之间</td><td>将出现,每行之间时,HTML </td></tr><tr><td>将出现。 这将产生我们需要的只有一个回复于确切的HTML。