最新のWeb開発のチュートリアル
 

GetStringメソッドでADOスピードアップ()


使用GetString()代わりに、複数のResponse.Writeのを使用しての)あなたのASPスクリプトをスピードアップするための方法を。


複数の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>一度だけのResponse.Writeを使用して-に</ TABLE>、その後、出力すること。


GetString()メソッド

GetString()メソッドを使用して、一つだけのResponse.Writeで文字列を表示することができます。 また、DO ...ループコードとレコードセットがEOFであるかどうかを確認する条件付きのテストを排除します。

構文

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

レコードセットからのデータをHTMLテーブルを作成するために、我々は上記の3つのパラメータを使用する必要があります(all parameters are optional)

  • COLDEL - 列区切りとして使用するHTML
  • rowdel - 行セパレータとして使用するHTML
  • nullexpr - カラムがNULLである場合に使用するHTML

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>が表示されます。 これは、我々は唯一のResponse.Writeに必要な正確なHTMLを生成します。