最新的Web開發教程
 

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>,然後將其輸出-使用回复於一次。


GetString()方法

GetString()方法可以讓你只用一個的Response.Write顯示的字符串。 它也消除了DO ... LOOP代碼和條件測試來檢查,如果記錄是EOF。

句法

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

要創建從記錄數據的HTML表格,我們只需要使用三個以上的參數(all parameters are optional)

  • COLDEL - 的HTML為柱分離器使用
  • rowdel - 的HTML作為行分隔符使用
  • nullexpr - 使用HTML列是否為NULL

Note:所述的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變量包含由SQL SELECT語句返回的所有列和行的字符串。 每一列中的HTML之間</td><td>將出現,每行之間時,HTML </td></tr><tr><td>將出現。 這將產生我們需要的只有一個回复於確切的HTML。