ADO 通過(guò) GetString() 加速腳本

2018-02-08 11:29 更新

ADO 通過(guò) GetString() 加速腳本

本節(jié)為你講解 GetString() 方法的使用,你可以通過(guò)該方法對(duì)腳本進(jìn)行加速。

請(qǐng)使用 GetString() 方法來(lái)加速您的 ASP 腳本(來(lái)代替多行的 Response.Write)。


多行 Response.Write

下面的例子演示了在 HTML 表格中顯示數(shù)據(jù)庫(kù)查詢的一種方法:

<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>

對(duì)于一個(gè)大型的查詢來(lái)說(shuō),這樣做會(huì)增加腳本的處理時(shí)間,這是由于服務(wù)器需要處理大量的 Response.Write 命令。

解決的辦法是創(chuàng)建全部字符串,從 <table> 到 </table>,然后將其輸出 - 只使用一次 Response.Write。


GetString() 方法

GetString() 方法使我們有能力僅使用一次 Response.Write,就可以顯示所有的字符串。同時(shí)它甚至不需要 do..loop 代碼以及條件測(cè)試來(lái)檢查記錄集是否處于 EOF。

語(yǔ)法

str = rs.GetString(format,rows,coldel,rowdel,nullexpr)

如需使用來(lái)自記錄集的數(shù)據(jù)創(chuàng)建一個(gè) HTML 表格,我們僅僅需要使用以上參數(shù)中的三個(gè)(所有的參數(shù)都是可選的):

  • coldel - 用作列分隔符的 HTML
  • rowdel - 用作行分隔符的 HTML
  • nullexpr - 當(dāng)列為空時(shí)所使用的 HTML

注意:GetString() 方法是 ADO 2.0 的特性。您可從下面的地址下載 ADO 2.0:http://www.microsoft.com/data/download.htm

在下面的例子中,我們將使用 GetString() 方法,把記錄集存為一個(gè)字符串:

實(shí)例

<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 包含著由 SELECT 語(yǔ)句返回的所有列和行的一個(gè)字符串。在每列之間會(huì)出現(xiàn) </td><td>,在每行之間會(huì)出現(xiàn) </td></tr><tr><td>。這樣,僅使用一次 Response.Write,我們就得到了需要的 HTML。

相關(guān)教程

ASP教程

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)