GetString() ile ADO Script Hızlandırma

ASP betiğinizi hızlandırmak için GetString() yöntemini kullanın (çok satırlı Response.Write yerine).

Örnek

GetString() kullanımı
GetString() kullanarak HTML tablosunda kayıt kümesindeki verileri nasıl gösterilir.

Çok satırlı Response.Write

Aşağıdaki örnek, HTML tablosunda veritabanı sorgusunu göstermenin bir yöntemini gösterir:

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

Büyük bir sorgu için bu, sunucunun大量 Response.Write komutlarını işlemesi nedeniyle scriptin işleme süresini artırabilir.

Çözüm, tüm diziyi <table> ile </table> arasında oluşturmak ve sadece bir kez Response.Write kullanarak çıktıya vermek olacaktır.

GetString() yöntemi

GetString() yöntemi, tüm dizeleri tek bir Response.Write kullanarak gösterebilmemizi sağlar. Ayrıca, do..loop kodu veya kayıt kümesinin EOF olup olmadığını kontrol eden şart testlerini gerektirmez.

Sözdizimi

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

Kayıt kümesinden gelen verileri HTML tablosu oluşturmak için yukarıdaki parametrelerin sadece üçünü kullanmamız yeterlidir (tüm parametreler seçmeli olarak verilmiştir):

  • coldel - Sütun ayraç olarak kullanılan HTML
  • rowdel - Satır ayraç olarak kullanılan HTML
  • nullexpr - Sütun boş olduğunda kullanılan HTML

Açıklama:GetString() yöntemi ADO 2.0'nın bir özelliğidir. ADO 2.0'yi aşağıdaki adresten indirebilirsiniz:http://www.microsoft.com/data/download.htm

Aşağıdaki örnekte, GetString() yöntemini kullanarak kayıt kümesini bir dize olarak saklayacağız:

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

Üstteki değişken str, SELECT cümlesi tarafından döndürülen tüm sütunlar ve satırların bir dizesini içerir. Her sütun arasında </td><td> ve her satır arasında </td></tr><tr><td>会出现。Bu şekilde, sadece bir kez Response.Write kullanarak gerekli HTML'yi elde ederiz.