当前位置: 首页 > 图文教程 > 网络编程 > ASP > ADO初学者教程:ADO 通过GetString()加速脚本

ASP
深入研究Application和Session对象(2)
深入研究Application和Session对象(3)
开始 .Net的旅程(一)
开始 .Net的旅程(二)
手把手教你使用VB来创建ASP组件(1)
手把手教你使用VB来创建ASP组件(2)
手把手教你使用VB来创建ASP组件(3)
手把手教你使用VB来创建ASP组件(4)
手把手教你使用VB来创建ASP组件(5)
手把手教你使用VB来创建ASP组件(6)
手把手教你使用VB来创建ASP组件(7)
手把手教你使用Java来编写ASP组件(1)
手把手教你使用Java来编写ASP组件(2)
手把手教你使用Java来编写ASP组件(3)
手把手教你使用Java来编写ASP组件(4)
手把手教你使用Java来编写ASP组件(5)
手把手教你使用Java来编写ASP组件(6)
ASP 3.0高级编程(二十四)
ASP 3.0高级编程(二十五)
ASP 3.0高级编程(二十六)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 144 ::
收藏到网摘: n/a

作者:请使用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.MoveNext
loop%>
</table>
<%
rs.close
conn.close
set rs = Nothing
set 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", 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语句返回的所有列和行的一个字符串。在每列之间会出现</td><td>,在每行之间会出现</td></tr><tr><td>。这样,仅使用一次Response.Write,我们就得到了需要的HTML。