ADO versnel met GetString()
Gebruik die GetString()-metode om jou ASP-skrip te bespoedig (in plaas daarvan om veelvuldige Response.Write's te gebruik).
Veelvuldige reaksie. Skryf's
Die volgende voorbeeld demonstreer een manier hoe om 'n databasisnavraag in 'n HTML-tabel te vertoon:
<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>
Vir 'n groot navraag kan dit die skripverwerkingstyd vertraag, aangesien baie Response.Write-opdragte deur die bediener verwerk moet word.
Die oplossing is om die hele string te laat skep, van <table> tot </table>, en dit dan uit te voer - met behulp van Response.Write net een keer.
Die GetString()-metode
Die GetString() metode laat jou toe om die string met slegs een Response.Write te vertoon. Dit skakel ook die doen...lus-kode en die voorwaardelike toets uit wat kyk of die rekordstel by EOF is.
Sintaksis
str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
Om 'n HTML-tabel met data van 'n rekordstel te skep, hoef ons net drie van die parameters hierbo te gebruik (alle parameters is opsioneel):
- Coldel - die HTML om as 'n kolomskeider te gebruik
- rowdel - die HTML om as 'n ry-skeier te gebruik
- nullexpr - die HTML om te gebruik as 'n kolom NULL is
Let wel: Die GetString()-metode is 'n ADO 2.0-kenmerk. Jy kan ADO 2.0 aflaai by https://www.microsoft.com/data/download.htm .
In die volgende voorbeeld sal ons die GetString() metode gebruik om die rekordstel as 'n string te hou:
Voorbeeld
<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>
Die str-veranderlike hierbo bevat 'n string van al die kolomme en rye wat deur die SQL SELECT-stelling teruggestuur word. Tussen elke kolom sal die HTML </td><td> verskyn, en tussen elke ry sal die HTML </td></tr><tr><td> verskyn. Dit sal die presiese HTML produseer wat ons benodig met slegs een Response.Write.