ADO初學者教程:ADO 通過GetString()加速指令碼

來源:互聯網
上載者:User

作者:請使用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>"," ")
%>
<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。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。