阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      ADO 通过 GetString() 加速脚本

      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 命令。

      解决的办法是创建全部字符串,从从 <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

      注意: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 语句返回的所有列和行的一个字符串。在每列之间会出现 ,在每行之间会出现 。这样,仅使用一次 Response.Write,我们就得到了需要的 HTML。

      卖前端学习教程

      只需几十元,就能买到培训班的内部教程!开启高薪之路!

      零基础小白阿里P7的教程都有!

      同时长期收购所有培训班的前端教程

      目录
      目录