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:

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:

  1. 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.
  2. CursorType legt die Art des Cursors fest, den der Provider benutzen sollte. Wert 3 statisch Corsor: unveränderte Kopie der Datensätze
  3. 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