zurück zur Auswahlseite
Einführungsbeispiel ASP
Es soll eine Datenbank mit Hilfe von ASP Seiten bearbeitet und ausgewertet werden. Die Auswertung wird in Form einer generierten HTML Seite an den User gesendet. Folgende grundlegende Schritte sind notwendig:
- Estellen der ASP Seiten und der MS Datenbank
- Asp Seiten erstellen und für das Auslesen der Datenbankinhalte
- Plazierung aller ASP-HTML Seiten einschlieslich der Datenbank auf dem Server.
- Ausführen der ASP Seiten nach Anforderung des Nutzers mittels HTML-/ASP Seiten.
Datenbankverbindung aufbauen, Connection-Objekt
Um eine Datenbank einlesen zu können muss sie nach der Verbindungsaufnahme geöffnet werden.
Die erste Zeile enthält den Verbindungsstring, mit dem die Datenbank geöffnet wird.
driver= Information, dass es sich um eine Access Datenbank handelt.
dbq= Festlegung Pfad und Dateiname (ADO)
Der Ausdruck - Server.Map.Path("DbName.mdb")- konvertiert einen relativen URL in einen localen, vollständigen Dateinamen (z.B. C:\InetPub\wwwroot\dbname.mdb)
Die zweite Zele weist den Server an ein ADODB Connection Objekt zu erstellen und in der Variablen cn zu speichern. Das ADODB Connection Objekt verwaltet die Verbindung zu einer geöffneten Datenbank.
In der dritten zeile wird das Connection Objekt angewiesen, die Datenbank zu öffnen, die in der ersten Zeile genannt wurde. Dazu wird die open- Mthode des Objektes cn mit dem Verbindungsstring openSTR verwendet.
Die beiden letzten Zeilen beenden die Datenbankverbindung und entfernen das Connection Objekt. Letzteres ist für eine saubere Datenbankarbeit zwingend erforderlich.
Datensätze abfragen
Ist eine Datenbank geöffnet können deren Datensätze bearbeitet werden.
Im einzelnen bedeutet das:
| sql= |
definiert eine SQL Anweisung die die benötigten Datensätze in der gewünschten Rehenfolge abruft. |
| Set rs= |
erzeugt ein ADODB- Recordset und speichet einen Verweis in der Variablen rs
dieses Recordset Objekt bietet den Zugriff auf die ergebnisse einer Abfrage d.h. auf die Datensätze die die Abfrage zurück gibt. |
| rs open |
öffnen des Recordsets. Die Methode open übernimmt als Parameter die SQL Anweisung die Verbindungszeichenfolge und die Parameter CursorType und LockType |
| rs.close |
Recordset Schließen |
| Set rs= |
Nothing, Recordset-Objekt löschen |
Anmerkung:
- Das Recordset Objekt ist das wichtigste aller ADO Objekte, da über dieses der Zugang zum Datenaustausch zwischen dem Datenprovider und der Webdatenbankseite erfolgt. Das Recordset Objekt ist mit 25 Methoden (meist mit mehreren Argumenten) und 24 verschiedenen Eigenschaften ausgestattet.
- CursorType legt die Art des Cursors fest, den der Provider benutzen sollte. Wert 3 statisch Corsor: unveränderte Kopie der Datensätze
- LockType legt fest, welche Sperrung beim öffnen des Recordset-Objektes verwendet werden soll.
Wert 3 teilweise Sperren, Datensatz für Datensatz.
Datensätze durchlaufen
Um die aufgerufenen Datensätze zu durchlaufen ist nachfolgender Code zwischen die Anweisungen rs.open sql, cn, 3,3 und rs.close zu schreiben.
Im einzelnen bedeutet das:
| On Error Resume Next |
Anweisung teilt dem Server mit das bei Fehlern einfach die nächste Anweisung auzuführen ist. |
| rs.MoveFirst |
setzt das Recordset in der Variablen rs auf den ersten Datensatz. Mit dem öffnen des Recordset sollte das eigentlich schon geschehen sein. Aber sicher ist sicher! |
| Do While Not rs.EOF |
Schleife die mit Loop endet und so lange durchlaufen wird, bis das Ende des Recordsets erreicht und die Eigenschaft EOF auf true gesetzt wird. |
| rs.MoveNext |
Aufruf des nächsten Datensatzes im Recordset |
Ausgabe der Datenbakinhalte im HTML Quelltext
Der nachfolgende Quelltext wird innerhalb der DO While Schleife abgearbeitet.
Anmerkung: Die Unterstriche markieren nur die Fortsetzung der Anweisung auf einer neuen Zeile (bessere Übersichtlichkeit).
Bei der Betrachtung der Anweisung von innen beginnend bedeuten:
| rs.Fields("Warengruppe") |
Aufruf der Datenwerte aus den entsprechenden Feldern des aktuellen Datensatzes im Recordset rs. |
| Server.HTMLEncode |
eine Methode die Zeichenfolgen untersucht und alle in HTML reservierten Zeichen findet und durch entsprechende Symbole ersetzt. Damit wird sichergestellt, das alle von HTML reservierten Zeichen, die in einer Datenbank enthalten sind, einfach angezeigt und nicht als Quellcode interpretiert werden. |
| Response.Write |
schreibt alle abgerufenen Zeichenfolgen in die Webseite, die dem Webbesucher als Antwort präsentiert wird. Die Zeichenfolge erscheint an Stelle des Bereiches <% und %> der die Anweisung enthält. |
| vbCrlf |
in Verbindung mit <br> wird nach jeder Datensatzausgabe ein Zeilenumbruch und ein ASCII Zeichenende-Zeichen gesetzt. |
zurück zur Auswahlseite
© 2006 Gert Bauerfeind