作者:请使用GetString()方法来加速您的ASP脚本(来代替多行的Response.Write)。
[中国站长站]
实例
Chinaz@com
使用 GetString()
Www^Chinaz^com
如何使用GetString()在HTML表格中显示记录集中的数据。 站长.站
多行Response.Write
Chinaz_com
下面的例子演示了在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> Www_Chinaz_com
</tr>
<%rs.MoveNext
loop%>
</table>
<%
rs.close
conn.close
set rs = Nothing
set conn = Nothing
%>
</body>
</html> Www^Chinaz^com
Www.Chinaz.com
对于一个大型的查询来说,这样做会增加脚本的处理时间,这是由于服务器需要处理大量的Response.Write命令。 中国站.长.站
解决的办法是创建全部字符串,从<table>到</table>,然后将其输出 – 只使用一次Response.Write。 站长.站
GetString() 方法 Chinaz@com
GetString()方法使我们有能力仅使用一次Response.Write,就可以显示所有的字符串。同时它甚至不需要do..loop代码以及条件测试来检查记录集是否处于EOF。 Www@Chinaz@com
语法 Chinaz.com
str = rs.GetString(format,rows,coldel,rowdel,nullexpr) Www.Chinaz.com
如需使用来自记录集的数据创建一个HTML表格,我们仅仅需要使用以上参数中的三个(所有的参数都是可选的): Www_Chinaz_com
coldel – 用作列分隔符的HTML 中国站.长站
rowdel – 用作行分隔符的HTML
Chinaz.com
nullexpr – 当列为空时所使用的HTML
中国站.长.站
注释:The GetString()方法是ADO 2.0的特性。您可从下面的地址下载ADO 2.0:http://www.microsoft.com/data/download.htm
Www~Chinaz~com
在下面的例子中,我们将使用GetString()方法,把记录集存为一个字符串: Www^Chinaz^com
以下为引用的内容:
<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> Www.Chinaz.com
</tr>
</table>
<%
rs.close
conn.close
set rs = Nothing
set conn = Nothing
%>
</body>
</html>
Chinaz.com
中.国.站.长.站
上面的变量str包含着由SELECT语句返回的所有列和行的一个字符串。在每列之间会出现</td><td>,在每行之间会出现</td></tr><tr><td>。这样,仅使用一次Response.Write,我们就得到了需要的HTML。 Chinaz