6. Dynamische Webseiten 6.1 Problemstellung Bei der Fit4life GmbH gibt es immer wieder zeitliche Engpässe wenn Kursänderungen, welche in der Datenbank gespeichert sind, auf den Webseiten veröffentlicht werden sollen. In einer Projektsitzung zum Thema „Übernahme der Kursangebote ins World Wide Web“ sollen Möglichkeiten zur automatischen Abgleichung der Datenbank mit der entsprechenden Webseite diskutiert werden. Sie werden von der Geschäftsleitung beauftragt, bis zur Projektsitzung, entsprechende Alternativen zum automatischen Generieren des Kursangebotes auf den entsprechenden Webseiten zu erarbeiten und vorzustellen. 6.2 Basiswissen Die virtuelle Welt des Internets wird von zwei Lebensformen besiedelt: Clients und Server. Ein Rechner der sich im Internet anmeldet, ist der Client, der Webseiten in Form von HTMLDokumenten von den Servern (Webservern) bezieht. Früher waren diese Webseiten vor allem statischer Natur, das heißt, die Inhalte einer Webseite blieben unverändert. Dies traf auf den Text als auch auf die Grafiken und die Formatierung zu. Wenn der Entwickler den Inhalt der Seite verändern wollte, musste er den Text manuell verändern und ihn dann zurück ins Internet stellen. In den letzten Jahren haben die Webentwickler erkannt, dass statische Inhalte nicht ausreichen. Immer mehr Unternehmen haben damit begonnen, ihre Webseiten mit dynamischen Inhalten auszustatten. Dynamische Webseiten verändern ihren Inhalt im Laufe der Zeit automatisch. Beispiele: Webshop mit Datenbankanbindung, Börsenkurse, Wetter. Bereits bei Web-Anwendungen kleinen bis mittelgroßen Umfangs kann eine Anbindung an eine relationale Datenbank sinnvoll sein. Sie dient zum einen dazu, Eingaben des Benutzers oder Daten von beliebigen anderen Datenquellen laufend zu speichern und zum anderen liefert eine Datenbank den gesammelten Bestand an Informationen in dynamisch erzeugtes HTML. Thomas Ohlhauser Datenbankanbindung mit ASP Seite 1 Die dadurch herbeigeführte Strukturänderung der WebKommunikation zeigt sich bereits auf oberster Ebene: Aus dem ehemaligen 2-Schichten-System, bestehend aus dem Client und dem Webserver, ist eine sogenannte 3-Pfeiler-Architektur entstanden. Dritter Pfeiler dieser Struktur ist die Datenbank. (1) Anfrage (3) DB-Anweisungen D B Daten (5) dyn. HTML (4) Antwort IBM-kompatibel IBM-kompatibel Client (2) Auswertung Webserver Datenbank 6.3 Erstellung dynamischer Webseiten mit ASP Die grundlegenden Techniken zum Erstellen dynamischer Webseiten sind reich an Namen. Zu den prominentesten Vertretern zählt sicherlich ASP (Active Server Pages). ASP erweitert den Webserver, so dass Webseiten durch den Zusatz von speziellen Tags programmierbar werden. Daten und Befehle werden in einer Datei gemischt. Der ASP-Code wird einfach als Skript in bestehende HTML-Seiten eingefügt und bei einer Anfrage seitens des Clients vom Webserver ausgeführt. Der Webserver erkennt an der Dateierweiterung .asp, dass die Datei neben HTML-Inhalten auch ASP-Skriptbefehle enthält. Beispiel: beispiel1.asp <html> <head> <title>Mein erstes ASP-Skript</title> </head> <body> <h1>Hallo Welt</h1> <br> Auf meiner Homepage ist es Thomas Ohlhauser Datenbankanbindung mit ASP Seite 2 <% =Now() %> <br> <br> <% Response.Write "Ich glaube es wird Zeit eine Pause zu machen!" %> </body> </html> Die folgende Grafik zeigt die Wirkung des ASP-Skripts: Erläuterung: Mit den Tags <% .....%> wird dem Server signalisiert, dass sich hier der ASP-Code befindet, der verarbeitet werden muss. Der Befehl now() bedeutet, dass jedes Mal, wenn man diese Seite aufruft, das Datum und die Uhrzeit vom Server erneut gelesen und angezeigt wird. Der Befehl Response.Write wird verwendet, um einen Wert auszugeben. Thomas Ohlhauser Datenbankanbindung mit ASP Seite 3 6.4 Voraussetzungen Das Ansprechen dynamischer Webseiten mit ASP ist einfach und unkompliziert. Dazu ist es notwendig einen Webserver zu verwenden der ASP unterstützt. Beispiele: - PWS (Personal Web Server). Er ist im Lieferumfang von Windows 9x enthalten und kann bei der Installation aktiviert oder später nachinstalliert werden (Systemsteuerung/Software). - Der IIS (Internet Information Server). Er ist im Lieferumfang von Windows NT/2000 enthalten und wird bei der Installation als Dienst eingerichtet. Zum Konfigurieren des IIS stehen in der Systemsteuerung unter Verwaltung Tools zur Verfügung: Nach dem Aktivieren/Starten des Webservers legt der IIS standardmäßig den Ordner C:\Inetpub\wwwroot als Standardordner (Bild unten) für die Webdateien fest. Der Browser findet dann die Startseite (standardmäßig die Datei default.asp), mit http://<Computername>. Localhost ist die Bezeichnung (Computername) für den eigenen Rechner. Beispiel: default.asp <html> <head> Thomas Ohlhauser Datenbankanbindung mit ASP Seite 4 <title>Zweites ASP-Script</title> </head> <body> <h1>Hallo Welt</h1> <br> <% Response.Write "Dies ist die Startseite (default.asp) meiner Homepage!" & "<br>" Response.Write "Sie liegt in dem Verzeichnis C:\Inetpub\wwwroot!" & "<br>" Response.Write "Ich benutze den Internet Information Server (IIS)!" & "<br>" %> </body> </html> Die folgende Grafik zeigt die Wirkung des ASP-Skripts: 6.5 Zugriff auf eine Access-Datenbank über ODBC und DSN Eines der wichtigsten Anwendungsgebiete von ASP ist, Informationen aus einer Datenbank auszulesen und über den Webbrowser anzuzeigen. Um an die Objekte einer Datenbank zu gelangen, gibt es mehrere Schnittstellen. Der herkömmliche Weg geht über einen ODBC-Treiber. ODBC steht für Open Database Connectivity und repräsentiert einen Standard, Thomas Ohlhauser Datenbankanbindung mit ASP Seite 5 der darauf abzielt, eine grundlegende Basis für das Ansprechen verschiedenster relationaler Datenbanken in ein und derselben Weise zu schaffen. Ein derartiger Zugriff wird durch die Einstellung einer kleinen Datei mit dem Namen DSN (Data Source Name) bewirkt. Sie kann im Ordner ODBC erstellt werden. Beispiel: Unter Windows 95, 98, ME befindet sich dieser im Verzeichnis Einstellungen und unter Windows 2000 im Ordner Verwaltung. Im sich entfaltenden Dialog ist zunächst der Reiter System-DSN auszuwählen. Anschließend muss der Treiber ausgewählt werden für den man eine Datenquelle erstellen möchten. Greift man beispielsweise auf eine Access-Datenbank zu, dann fügt man den MicrosoftAccess-Treiber (*.mdb) hinzu. Anschließend muss der Pfad hin zur Datenbank angegeben und ein Name für die DSN samt Beschreibung vergeben werden. Um eine Datenbank mittels ODBC von ASP aus anzusprechen, wird auf die mit ihr assozierte DSN zurückgegriffen. Thomas Ohlhauser Datenbankanbindung mit ASP Seite 6 Nachdem die ODBC-DSN-Datei erstellt wurde, kann man zuerst eine Verbindung mit der Datenbank aufbauen: Beispiel: dbzugriff.asp <html> <body> <% Set ConDB=Server.CreateObject("ADODB.Connection") ConDB.Open "fit4life" Response.Write "Verbindung zur Datenbank Fit4life.mdb geöffnet!" %> <br> ... <br> <% ConDB.Close Response.Write "Verbindung zur Datenbank wieder geschlossen!" %> </body> </html> Thomas Ohlhauser Datenbankanbindung mit ASP Seite 7 Die folgende Grafik zeigt die Verbindung zur Datenbank: Erläuterung: ASP ist vereinfacht formuliert eine Sammlung von fünf vordefinierten Objekten. Das Beispiel macht lediglich vom Objekt Server Gebrauch. Im vorliegenden Fall wird es dazu genutzt, eine Instanz von ADODB.Connection zu erzeugen. Hierbei handelt es sich um eine Schnittstelle, die den Zugriff auf Datenbanken wesentlich erleichtert. Um schließlich eine Verbindung zur Datenbank herzustellen, erfolgt ein Aufruf der Methode Open, gefolgt vom Namen der DSN-Datei, die sämtliche relevanten Daten bereitstellt. Diese Verbindung zur Datenbank wird letztlich durch den Aufruf der Funktion Close am Ende des Scripts wieder geschlossen. Nachdem die Verbindung zur Datenbank geöffnet ist, sollen alle Leistungen mit Leistungsnummer, Bezeichnung, Gruppe, Kursleiter, VKPreis und Wochentag in einer Tabelle angezeigt werden. Beispiel: dbzugriff1.asp <html> <body> <% Set ConDB=Server.CreateObject("ADODB.Connection") ConDB.Open "fit4life" Response.Write "Verbindung zur Datenbank Fit4Life.mdb geöffnet!" %> <br> <% Thomas Ohlhauser Datenbankanbindung mit ASP Seite 8 Set Rs = Server.CreateObject("ADODB.Recordset") Rs.Open "LEISTUNG", ConDB Response.Write "Leistungstabelle geöffnet!" %> <hr> <% Rs.MoveFirst While Not Rs.EOF Response.Write Rs("LNr") & " ," Response.Write Rs("Bezeichnung") & " ," Response.Write Rs("Gruppe") & " ," Response.Write Rs("Kursleiter") & " ," Response.Write Rs("VKPreis") & " , " Response.Write Rs("WochenTag") & " ," Response.Write "<br><hr>" Rs.MoveNext Wend %> <br> <% Rs.Close Response.Write "Leistungstabelle wieder geschlossen!" %> <br> <% ConDB.Close Response.Write "Verbindung zur Datenbank wieder geschlossen!" %> </body> </html> Thomas Ohlhauser Datenbankanbindung mit ASP Seite 9 Die folgende Grafik zeigt die Datensätze der Tabelle Mitarbeiter: Erklärung: Im ersten Schritt wird die Verbindung zur anzuzeigenden Tabelle (Leistung) geöffnet. Anschließend kann man mit dem RecordsetObjekt auf die Tabellendaten und die Ergebnisse einer AccessAbfrage zugreifen. Den Inhalt eines Datenbank-Feldes erhält man mit dem Befehl Recordset(„Feldname“). Um den Satzzeiger in der Tabelle zu bewegen gibt es verschiedene Befehle (Methoden) und Eigenschaften. “MoveFirst“ bewegt den Satzzeiger auf den ersten Datensatz des Recordsets. “While Not Rs.EOF“ bedeutet, dass die Tabelle solange durchlaufen werden soll, bis sich der Satzzeiger hinter dem letzten Datensatz der Tabelle befindet. Mit „Wend“ wird das Recordset beendet. “Rs.Close“ schließt die Tabelle und “ConDB.Close“ die Datenbank. Ändert man die Datensätze in einer Tabelle, so ändert sich automatisch die Anzeige der Datensätze im Webbrowser. Thomas Ohlhauser Datenbankanbindung mit ASP Seite 10 6.6 Zugriff auf eine ACCESS-Datenbank über ADO ohne DSN Eine Datenbank kann von ASP aus auch ohne eine DSN angesprochen werden. Dabei stellt die Bibliothek Active Data Objects (ADO) den Mechanismus für die Verbindung mit einer Datenbank und die Bearbeitung der darin enthaltenen Daten bereit. Voraussetzung hierzu ist, wie für die ODBC-Verbindung, dass die Datenbankdatei in einem Ordner liegt, der vom Webserver erreicht werden kann (wwwroot). Die wichtigsten ADO Objekte für Datenbankzugriffe sind: - Connection (Datenbankverbindung) - Repräsentiert die Verbindung zur Datenquelle , - Recordset (Sammlung von Datensätzen) - Besteht aus den Datensätzen die aus einer Datenbankabfrage stammen und dem zugehörigen Cursor, der auf den aktuellen Datensatz zeigt, - Field (Datenfeld) - Enthält Daten einer Datenbankspalte und Informationen über diese Daten wie Datentyp, Datenlänge und Ähnliches. Das Recordset Objekt stellt dabei die Fields Collection zur Verfügung, die alle Field Objekte eines Datensatzes beinhaltet, Beispiel: dbzugriff2.asp <html> <head></head> <body> <% 'Pfad und Dateiname der Datenbank strDB = "Data Source=" & _ Server.MapPath("fit4life.mdb") 'Parameter zum Öffner der Datenbank strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & strDB 'Name der Tabelle oder Abfrage, die geöffnet werden soll strTabelle= "Leistung" 'Objekt für den Verbindungsaufbau mit der Datenbank Set ConDB = Server.CreateObject("ADODB.Connection") Thomas Ohlhauser Datenbankanbindung mit ASP Seite 11 ConDB.Open strCon Response.Write "Verbindung zur Datenbank geöffnet.<br>" 'Objekt für das Recordset-Objekt Set RS = Server.CreateObject("ADODB.Recordset") Rs.open strTabelle, ConDB Response.Write "Leistungstabelle geöffnet.<br>" 'Befehle zur Bearbeitung der Daten Response.Write "<HR>" 'Geht zum ersten Datensatz Rs.MoveFirst ‘Liest bis das Ende der Daten erreicht ist While Not Rs.EOF Response.Write Rs("LNr") & " ," Response.Write Rs("Bezeichnung") & " ," Response.Write Rs("Gruppe") & " ," Response.Write Rs("Kursleiter") & " ," Response.Write Rs("VKPreis") & " , " Response.Write Rs("WochenTag") & " ," Response.Write "<br><hr>" Rs.MoveNext Wend 'Verbindungsobjekt schließen ConDB.close Response.Write "Verbindung geschlossen.<br>" %> <hr> </body> </html> Erklärung: Den einzelnen Codezeilen sind Kommentare zur Erklärung vorangestellt. Einen Kommentar erkennt man an dem einfachen Hochkomma (‘). Kommentare haben keinen Einfluss auf das Skript, sondern dienen dem Programmierer als Hilfestellung. Thomas Ohlhauser Datenbankanbindung mit ASP Seite 12 Die Parameter zum Öffnen der Datenbank werden über die Variable strCon festgelegt, wobei der Parameter Provider den Treiber definiert und Data Source den Pfad und Dateinamen der Datenbank bestimmt. Der Treibername Microsoft.Jet.OLEDB.4.0 arbeitet mit ACCESS 97 und ACCESS 2000. Die Befehle zum Öffnen bzw. Schließen der Datenbank und der jeweiligen Tabelle sind identisch mit dem Zugriff über ODBC und DSN. Die folgende Grafik zeigt die Datensätze der Tabelle Mitarbeiter: Thomas Ohlhauser Datenbankanbindung mit ASP Seite 13 6.7 Abfragen mit SQL In den bisherigen Beispielen wurden lediglich Daten aus einer bestehenden Tabelle vollständig ausgelesen und über den Webbrowser angezeigt. Um mit einer Datenbank zu kommunizieren und Befehle darin auszuführen, verwendet man allerdings eine weitere Sprache. SQL (Structured Query Language) ist eine Datenbanksprache für relationale Datenbanken. Sie ermöglicht dem Benutzer das Kommunizieren mit dem eigentlichen Datenbanksystem. SQL wird vom American National Standard Institut (ANSI) als Standardsprache für relationale Datenbanken erklärt. SQL gliedert sich in Anweisungen für die Datendefinition (Tabellen erstellen, ändern und indizieren), Datenmanipulation (Datensätze einfügen, ändern und löschen) sowie die Datenabfrage. Beispiel: dbzugriff3.asp <html> <head></head> <body> <% 'Pfad und Dateiname der Datenbank strDB = "Data Source=" & _ Server.MapPath("fit4life.mdb") 'Parameter zum Öffnen der Datenbank strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & strDB 'Name der Tabelle oder Abfrage, die geöffnet werden soll strSQL = "Select LNr, Bezeichnung, Gruppe, Kursleiter, VKPreis, WochenTag From LEISTUNG Where WochenTag ='Montag';" ’Objekt für den Verbindungsaufbau mit der Datenbank Set ConDB = Server.CreateObject("ADODB.Connection") ConDB.Open strCon Response.Write "Verbindung zur Datenbank geöffnet.<br>" 'Objekt für das Recordset-Objekt Set Rs = Server.CreateObject("ADODB.Recordset") Rs.open strSQL, ConDB 'Befehle zur Bearbeitung der Daten Thomas Ohlhauser Datenbankanbindung mit ASP Seite 14 Response.Write "<HR>" 'Geht zum ersten Datensatz Rs.MoveFirst 'Liest bis das Ende der Daten erreicht ist do While Not Rs.EOF Response.Write Rs("LNr") & ", " Response.Write Rs("Bezeichnung") & ", " Response.Write Rs("Gruppe") & ", " Response.Write Rs("Kursleiter") & ", " Response.Write Rs("VKPreis") & ", " Response.Write Rs("WochenTag") & ", " Response.Write "<br><hr>" 'Geht einen Datensatz weiter Rs.MoveNext Loop 'Verbindungsobjekt schließen ConDB.close Response.Write "Verbindung geschlossen.<br>" %> <hr> </body> </html> Thomas Ohlhauser Datenbankanbindung mit ASP Seite 15 Die folgende Grafik zeigt die SQL-Abfrage: Erläuterung: Die Grundstruktur einer SQL – Abfrage sieht wie folgt aus: Select Attribute From Tabellen Where Selektionskriterien; Dabei sind nur die Select- und die From- Klausel zwingend. Alle SQL-Anweisungen sind mit einem Semikolon (;) abzuschliessen. Beispiel: Es werden alle Leistungen gesucht, welche an einem Montag stattfinden. Select LNr, Bezeichnung, Gruppe, Kursleiter, VKPreis, WochenTag From LEISTUNG Where WochenTag ='Montag';" Thomas Ohlhauser Datenbankanbindung mit ASP Seite 16 Im ASP-Skript werden die SQL-Befehle zur weiteren Verarbeitung in eine Variable gepackt. strSQL = "Select LNr, Bezeichnung, Gruppe, Kursleiter, VKPreis, WochenTag From LEISTUNG Where WochenTag ='Montag';" Für den Zugriff auf die Datenbank benötigt man die Befehle, die in den vorhergehenden Beispielen erläutert wurden. Da man statt der gesamten Leistungstabelle nur bestimmte Daten sehen möchte, wird lediglich der Parameter Leistungstabelle durch die SQL-Anweisung ausgetauscht. Was schon anhand dieses kleinen Beispieles ersichtlich ist: Um Daten aus einer Datenbank in einem ASP Skript verwenden zu können, ist es durchaus hilfreich, wenn man ein gesundes Wissen über die Grundlagen der Datenbankprogrammierung und der Sprache SQL hat. 6.8 Erstellen von HTML – Formularen zur Datenbank-Abfrage Für die Administration einer Datenbank ist es sinnvoll auf einer HTML-Seite Formularmasken zu erstellen, um folgende Aufgaben durchführen zu können: - Suche nach bestimmten Datensätzen - Hinzufügen von Datensätzen - Anzeigen der gesamten Datenbank - Löschen von Datensätzen. Formular „Einen Datensatz suchen“ Das Formular besteht aus einem Eingabefeld (db_feld1) und einem Submit-Button, der die Suchanfrage an die Seite db_ergebnis.asp schickt. <HTML> <HEAD> <TITLE>Einen Datensatz suchen</TITLE> </HEAD> <BODY> <B>An welchem Wochentag möchten Sie Kurse besuchen?</B> Thomas Ohlhauser Datenbankanbindung mit ASP Seite 17 <FORM METHOD=POST ACTION="db_ergebnis.asp"> <INPUT TYPE="text" NAME="db_feld1" style="width:200px" size="20"> <INPUT TYPE="submit" value="suchen" style="width:100px"> </FORM> </BODY> </HTML> Die folgende Grafik zeigt das HTML-Formular: Ergebnis einer Datenbanksuche ausgeben – db_ergebnis.asp <html> <head></head> <body> <% 'Speichern der im Request-Objekt übergebenen Formulardaten Dim feld1 feld1 = Request.Form("db_feld1") 'Pfad und Dateiname der Datenbank 'Pfad und Dateiname der Datenbank strDB = "Data Source=" & _ Server.MapPath("fit4life.mdb") 'Parameter zum Öffnen der Datenbank strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & strDB 'Name der Tabelle oder Abfrage, die geöffnet werden soll Thomas Ohlhauser Datenbankanbindung mit ASP Seite 18 strSQL = "Select LNr, Bezeichnung, Gruppe, Kursleiter, VKPreis, WochenTag From LEISTUNG Where WochenTag LIKE '%" & feld1 & "%';" 'Objekt für den Verbindungsaufbau mit der Datenbank Set ConDB = Server.CreateObject("ADODB.Connection") ConDB.Open strCon Response.Write "Verbindung zur Datenbank geöffnet.<br>" 'Objekt für das Recordset-Objekt Set Rs = Server.CreateObject("ADODB.Recordset") Rs.open strSQL, ConDB 'Befehle zur Bearbeitung der Daten Response.Write "<HR>" 'Geht zum ersten Datensatz Rs.MoveFirst 'Liest bis das Ende der Daten erreicht ist do While Not Rs.EOF Response.Write Rs("LNr") & ", " Response.Write Rs("Bezeichnung") & ", " Response.Write Rs("Gruppe") & ", " Response.Write Rs("Kursleiter") & ", " Response.Write Rs("VKPreis") & ", " Response.Write Rs("WochenTag") & ", " Response.Write "<br><hr>" 'Geht einen Datensatz weiter Rs.MoveNext Loop 'Verbindungsobjekt schließen ConDB.close Response.Write "Verbindung geschlossen.<br>" %> <hr> </body> </html> Thomas Ohlhauser Datenbankanbindung mit ASP Seite 19 Die folgende Grafik zeigt das Ergebnis der Abfrage: Erklärung: Um die Programmierung übersichtlicher zu gestalten werden die im Request-Objekt übergebenen Formulardaten zunächst in eine Variable gespeichert. Dim feld1 feld1 = Request.Form("db_feld1") Danach wird die Verbindung zur Datenbank hergestellt und das Recordset-Objekt geöffnet. Mit der SQL-Abfrage Like ’%Kriterium%’ wird nach einem Teilstring innerhalb eines Feldes gesucht. Im Beispiel bezieht sich die Suche auf den Wochentag. sql = "Select LNr, Bezeichnung, Gruppe, Kursleiter, VKPreis, WochenTag from LEISTUNG Where WochenTag LIKE '%" & feld1 & "%';" Nur wenn das Recordset Datensätze als Ergebnis der Abfrage enthält, wird die Datenbankoperation auch ausgeführt. If Rs.EOF = False Then Do Until Rs.EOF Thomas Ohlhauser Datenbankanbindung mit ASP Seite 20 Hat der User einen Begriff gesucht, der nicht in der Datenbank enthalten ist, wird eine Fehlermeldung ausgegeben. Else Response.Write("<b>Leider keinen Eintrag gefunden!</b>") End If Zum Schluss wird das Recordset und die Datenbankverbindung wieder geschlosssen. Gesamte Tabelle durchsuchen Bezieht sich die Suche nicht nur auf den Wochentag, so ist der SQL-Befehl folgendermaßen zu ergänzen: Beispiel: db_ergebnis1.asp strSQL = "Select LNr, Bezeichnung, Gruppe, Kursleiter, VKPreis, WochenTag From LEISTUNG Where LNr & Bezeichnung & Gruppe & Kursleiter & VKPreis & WochenTag LIKE '%" & feld1 & "%';" Thomas Ohlhauser Datenbankanbindung mit ASP Seite 21 6.9 Vereinfachter Zugriff auf eine Access-Datenbank mit Editor Neben der manuellen Erstellung von ASP-Skripten gibt es zahlreiche Editoren, welche den Datenbank-Zugriff per Klick bewerkstelligen. Beispielsweise ist Microsofts FrontPage gerade bei der Pflege und Verwaltung großer Sites ein wertvolles Werkzeug und verfügt über die notwendigen Funktionen, eine Datenbank in die Website zu integrieren. Besonders komfortabel gelingt dies mit der hauseigenen Access-Datenbank, es lassen sich jedoch auch andere Datenbestände einbinden. FrontPage sorgt für die assistentengestützte Verbindung zur Datenbank und das Anlegen von Abfrageformularen. Lediglich beim Editieren von SQL-Abfragen erweist sich der Webeditor mitunter etwas schwierig. Mit Access erzeugte Abfragen lassen sich hingegen problemlos aus einer Auswahlliste im Assistenten auswählen. Bei der Erzeugung dynamischer Seiten konzentriert sich das Programm auf ASP. Aufgrund der zahlreichen Assistenten gelingt auch ohne ASPSkriptprogrammierung jedem User mit FrontPage die Datenbankanbindung. a) Alle Datensätze einer Tabelle dynamisch anzeigen Schritt 1: Erstellen Sie mit Datei/Neu/Seite eine neue Seite und speichern Sie sie im wwwroot – Ordner ihres Webservers als ASP-Seite ab. Beispiel: db_frontpage.asp. Thomas Ohlhauser Datenbankanbindung mit ASP Seite 22 Schritt 2: Wählen Sie im Dialogfeld Einfügen die Registerkarte Datenbank / Ergebnisse. Schritt 3: Führen Sie die folgenden Schritte aus: - Neue Datenbankverbindung verwenden / Erstellen. - Dialogfeld Datenbank / Hinzufügen. - Geben Sie einen Namen für die Datenbank ein (Beispiel: Fit4Life). - Wählen Sie als Verbindungstyp: Datei oder Ordner im aktuellen Web. - Wählen Sie dann Ihre Datenbank innerhalb des wwwrootOrdners aus (Beispiel: fit4life.mdb). - Klicken Sie jeweils auf OK. Thomas Ohlhauser Datenbankanbindung mit ASP Seite 23 Schritt 4: Nachdem Sie alle Dialogfelder mit OK bestätigt haben, erscheint die ausgwählte Datenbank im Dialogfeld: Bestehende Datenbank verwenden. Klicken Sie auf Weiter. Wählen Sie im Dialogfeld Datensatzquelle die Tabelle aus, welche Sie dynamisch auf Ihrer Webseite anzeigen möchten. (Beispiel: Tabelle Leistung) Thomas Ohlhauser Datenbankanbindung mit ASP Seite 24 Im nächsten Schritt können Sie die anzuzeigenden Spalten der Tabelle auswählen. Wenn Sie keine Einschränkungen vornehmen, werden alle Spalten angezeigt. Im nächsten Schritt können Sie das Design der Tabelle auswählen. Thomas Ohlhauser Datenbankanbindung mit ASP Seite 25 Zum Schluß können Sie noch auswählen, wieviel Datensätze Sie auf einer Seite anzeigen möchten. Die folgende Abbildung zeigt das Ergebnis des DatenbankAssistenten: Thomas Ohlhauser Datenbankanbindung mit ASP Seite 26 Schritt 5: Die folgende Grafik zeigt das Ergebnis des Datenbankzugriffes: b) Abfragen mit SQL Wenn Sie Schritt 1 bis 3 ausgeführt haben, können Sie direkt die bestehende Datenbankverbindung verwenden. Wählen Sie im Dialogfeld Benutzerdefinierte Abfrage / Bearbeiten. Geben Sie Ihre SQL-Anweisung ein. Thomas Ohlhauser Datenbankanbindung mit ASP Seite 27 Beispiel: Alle Leistungen welche die Fit4Life GmbH an einem Montag anbietet sollen angezeigt werden. Bestätigen Sie die folgenden Schritte mit weiter und speichern Sie die Datei ab. (Beispiel: db_frontpage1.asp) Die folgende Darstellung zeigt das Ergebnis der Abfrage: Thomas Ohlhauser Datenbankanbindung mit ASP Seite 28 Im folgenden können Sie ihren Datenbankzugriff folgendermaßen bearbeiten. - Bewegen Sie die Maus auf den Datenbankzugriff. - Klicken Sie mit der rechten Maustaste. - Wählen Sie Eigenschaften: Datenbankergebnisse. Thomas Ohlhauser Datenbankanbindung mit ASP Seite 29