zurück
Autor: Bernhard Elbl
Erstellt am: 13 Feb 2002 15:34

Recordsets in Tables mit "GetString" von ADO

Recordsets in HTML darstellen gehört zur täglichen Arbeit eines ASP-Programmierers. Ein bischen "Do Until" hier, etwas "Loop" da, dazwischen noch etwas "Response.Write rs.Fields..." und schon ist ein Recordset im Browser.
Allerdings ist das nicht die schnellste Methode. Für jedes Tabellen-Feld wird "Response.Write" ausgeführt, oder noch schlechter; das HTML-Table wird als String generiert und mit "Response.Write" ausgegeben. Immer wird also viel Script vom IIS interpretiert, z.B. 100-mal "Response.Write...". ASP wird interpretiert und ist deshalb um ein vielfaches langsamer als Kompilierte Applikationen. Und bei der String-Generierung werden sehr sehr viele Bytes kopiert und verschoben, ist also noch mal langsamer. Anders ist es, wenn Sie GetString von ADO verwenden.
GetString von ADO
= konvertiert ein komplettes Recordset in einen String. Spalten- und Zeilenwerte lassen sich mit benutzerdefinierten Trennzeichen versehen.
Alles was man also tun muss, ist die Trennzeichen als HTML-TABLE-Tags zu definieren. Sie lassen sich Ihr HTML-Table also von einer COM-Komponente erstellen, die sicher schneller ist als ASP-Script.

Sample: GetString-Methode zum erstellen eines HTML-Tables
sSQL = "SELECT TOP 20 [CustomerID], ContactName, CompanyName FROM Customers"
set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
conn.Open Application("ToNW_ConnectionString")
rs.Open sSQL, conn, adOpenForwardOnly, adLockReadOnly
 
' Kopf-Zeile mit Spaltennamen genieren
Response.Write "<table border=""1""><tr bgcolor=""red"">"
for i = 0 to rs.Fields.Count - 1
 Response.Write "<td>" & rs.Fields(i).Name & "</td>"
next
 
' Table mit GetString genieren
Response.Write "</tr><tr><td>"
Response.Write rs.GetString(adClipString,100,"</td><td>", "</td></tr><tr><td>", "")
Response.Write "</td></tr></table>"
set rs = nothing
set conn = nothing

TIP!!!
GetString können Sie auch einsetzen, wenn Sie z.B. Recordsets in CSV-Files konvertieren möchten.

© Copyright 2008 ppedv AG