Kullan GetString() (yerine birden Response.Write en kullanmanın) ASP komut hızlandırmak için bir yöntem.
Birden Response.Write en
Aşağıdaki örnek bir HTML tablosunda bir veritabanı sorgusu nasıl görüntüleneceğini bir yolu 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>
Birçok Response.Write komutları sunucu tarafından işlenmesi gerekir beri büyük bir sorgu için bu, script işlem süresi yavaşlatabilir.
Solüsyon tüm dizeyi gelen oluşturduk etmektir <table> için </ table> ve daha sonra çıkış - sadece bir kez Response.Write kullanmadan.
GetString() Yöntem
GetString() yöntemi yalnızca bir Response.Write ile dize görüntüleme olanağını sunar. Aynı zamanda do ... döngü kodunu ve kayıt kümesi EOF olup olmadığını denetler koşul testi ortadan kaldırır.
Sözdizimi
str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
Bir kayıt verilerle bir HTML tablosu oluşturmak için, biz sadece yukarıdaki parametreler üçünü kullanmak gerekir (all parameters are optional) :
- coldel - HTML bir sütun-ayırıcı olarak kullanmak
- rowdel - HTML bir satır-ayırıcı olarak kullanmak
- nullexpr - Bir sütun NULL ise HTML kullanımı
Note: GetString() metodu bir ADO 2.0 özelliğidir. En ADO 2.0 indirebilirsiniz http://www.microsoft.com/data/download.htm .
Aşağıdaki örnekte biz kullanacağız GetString() dize olarak recordset tutmak için yöntem:
Örnek
<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 değişkeni yukarıdaki SQL SELECT ifadesinin döndürdüğü her sütun ve satır bir dize içerir. Her sütunda HTML Arasında </td><td> görünür ve her satır arasında, HTML </td></tr><tr><td> görünecektir. Bu sadece bir Response.Write ile gereken tam HTML üretecektir.