ADO und ASP - Datenbanken einmal näher betrachtet
Geschrieben von: Christian Koller Kaum eine anspruchsvolle Website die heute nicht mit einer Datenbank arbeitet. Ob Veranstaltungskalender, Produktkatalog, Mitgliederdatenbank, Gästebuch, personalisierte Dienste oder allgemein veränderliche Daten - all dies läßt sich mit Hilfe der Kombination ASP Skripts auf der Webserver Seite und einer Datenbank auf der anderen Seite verwirklichen. Betrachten wir einmal das Bindeglied zwischen diesen beiden Technologien näher. Von ASP aus greift man am einfachsten über ADO (ActiveX Data Objects) und das zugehörige ADODB Objekt auf Datenquellen zu. Die Verbindung zwischen ADO (und der darunterliegenden OLE DB, Object Linking and Embedding Database) und der Datenbank wird meist über ODBC (Open DataBase Connectivity) hergestellt, das Applikationen einen weitgehend einheitlichen Zugriff auf verschiedenste Datenquellen erlaubt. Aber alles schön der Reihe nach. ADO stellt die Objekte zur Verfügung mit deren Hilfe ein ASP Skript eine Verbindung zur Datenbank aufbauen und Daten auf vielfältigste Weise manipulieren kann. Die wichtigsten ADO Objekte sind:
Wie sieht nun eine einfache Datenbankabfrage aus? Das folgende ASP Skript öffnet eine Verbindung zur Nordwind Datenbank, die mit Microsoft Access 97/2000 und SQL Server 7.0 (deutsche Versionen) ausgeliefert wird. Weiters liest es die Datensätze der Tabelle Artikel aus, die in die Kategorie Meeresfrüchte fallen, um die Werte der Spalten Artikel-Nr und Artikelname schließlich im Browser anzuzeigen. <% Response.Expires=0 Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-control", "no-store" Response.Write "Abfrageergebnis:<br>" & vbcrlf Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DSN=NW;USR=sa;PWD=" strSQL = "SELECT Artikel.[Artikel-Nr], Artikel.Artikelname " strSQL = strSQL & "FROM Artikel INNER JOIN Kategorien " strSQL = strSQL & "ON Artikel.[Kategorie-Nr]=Kategorien.[Kategorie-Nr] " strSQL = strSQL & "WHERE Kategorien.Kategoriename = 'Meeresfrüchte' " Set rs = conn.Execute(strSQL) Do While Not(rs.EOF) Response.Write "" & rs("Artikel-Nr") & " : " Response.Write "" & rs("Artikelname") & "<BR>" & vbcrlf rs.MoveNext Loop rs.Close conn.Close %>In kurzen Worten erklärt speichert das Skript eine Instanz des Connection Objektes in der Variable conn, um dann die Datenbankverbindung mit dem Befehl conn.Open herzustellen. Der Parameter für conn.Open enthält den Datenquellennamen, im englischen Original DSN (Data Source Name) genannt, der im ODBC Datenquellenadministrator korrekt definiert sein muß. Danach wird das SQL (Structured Query Language) Statement, das die Datenbankabfrage definiert, in der Variable strSQL gespeichert. Die SQL Abfrage sieht im Klartext wie folgt aus. SELECT Artikel.[Artikel-Nr], Artikel.Artikelname FROM Artikel INNER JOIN Kategorien ON Artikel.[Kategorie-Nr]=Kategorien.[Kategorie-Nr] WHERE Kategorien.Kategoriename = 'Meeresfrüchte' Das Ergebnis dieser SQL Abfrage wird im Recordset mit dem Namen rs von ADO bereitgestellt, die Werte der Felder ausgelesen und zum Browser geschickt. Zu guter letzt macht das Skript noch Ordnung und schließt das Recordset und die Connection um deren Ressourcen wieder zur Verfügung zu stellen. 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. ADO bietet darüber hinaus noch einige andere Möglichkeiten um mit wenig Aufwand Daten zu manipulieren. Die Verwendung hängt wie so oft vom Einsatzgebiet und persönlichen Vorlieben ab. Verwandte Artikel
ADO Konstanten und die Datei Adovbs.inc Wenn Sie jetzt Fragen haben...Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten. Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.
Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.
©2000-2006 AspHeute.com |