1 ASP ADO|Artikel|Projekt OsUp

ASP ADO

ADO wird gebraucht um eine Verbindung zu einer Datenbank herzustellen.


Für was steht ADO?

  • ADO ist eine Microsoft Technologie
  • ADO steht für ActiveX Data Objects
  • ADO ist ein Microsoft Active-X Kommponente
  • ADO wird automatisch mit dem Microsoft Webserver IIS installiert
  • ADO ist ein Schnittstelle, um auf Daten in einer Datenbank zugreifen zu können

Von einer ASP Seite auf eine Datenbank zugreifen

Was braucht es alles, um innerhalb einer ASP Seite auf Daten in einer Datenbank zugreifen zu können?

Folgende Punkt müssen beachtet werden:
  1. ADO Verbindung zu einer Datenbank erstellen
  2. Datenbank Verbindung öffnen
  3. ADO Recordset erstellen
  4. Recordset öffnen
  5. Daten im Recordset auswählen
  6. Recordset schliessen
  7. Verbindung schliessen

Eine DSN-less Datenbank Verbindung

Der einfachste Weg um eine Verbindung zu einer Datenbank herzustellen ist die Verwendung einer DSN-less Verbindung. Eine DSN-less Verbindung bedeutet, dass man keine ODBC-Verbindung auf dem Webserver erstellt werden muss.

Wenn z.B. eine Datenbank mit dem Namen "nordwind.mdb" im Verzeichnis "c:/webdata/" gespeichert ist, kann man innerhalb einer ASP Seite eine Verbindung zur Datenbank wie folgt herstellen:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/nordwind.mdb"
%>


Eine DSN Datenbank Verbindung

Wenn eine ODBC Verbindung mit dem Namen "nordwind" besteht, kann man eine Verbindung zur Datenbank wie folgt herstellen:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "nordwind"
%>

Eine ODBC Verbindung zu einer MS Access Datenbank erstellen

Um eine ODBC Verbindung mit einer MS Access Datenbank herzustellen geht man wie folgt vor: 

  1. Öffnen sie das ODBC-Symbol in ihrer Systemsteuerung.
  2. Wählen sie das System DSN Register.
  3. Klicken sie auf Add im System DSN Register.
  4. Wählen sie den Microsoft Access Treiber.
  5. Auf dem nächsten Bildschirm, klicken sie auf Select um die Datenbank auszuwählen.
  6. Geben sie den Datenquellenname ein (DSN).
  7. Auf OK klicken.

Beachten sie, dass diese Konfiguration auf ihrem Webserver gemacht werden muss. Wenn sie einen Personal Webserver (PWS) oder den Internet Information Server (IIS) auf ihrem eigenen PC istalliert haben, können sie die oben beschriebene Konfiguration durchführen. Wenn ihre Website bei einem Provider gehostet wird, müssen sie ihren Provider bitten, ihnen eine ODBC Verbindung zu erstellen.


Einen ADO Recordset erstellen

Zu erst müssen die Daten von der Datenbank in einen Recordset gelesen werde. Nachdem man eine ADO Datenbank Verbindung erstellt hat, kann man einen ADO Recordset erstellen.  

Nehmen wir an, sie haben eine Datenbank mit dem Namen "Nordwind" und möchten auf die Tabelle "Kunden" zugreifen:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/nordwind.mdb"
set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Kunden", conn
%>


Ein ADO SQL Recordset erstellen

Wir können auch mit Hilfe einer SQL Anweisung auf die Tabelle "Kunden" zugreifen:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/nordwind.mdb"
set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Select * from Kunden", conn
%>


Daten aus dem Recordset auslesen

Nachdem ein Recordset geöffnet wurde, können wir die Daten aus dem Recordset auslesen.  

Nehmen wir an, sie haben eine Datenbank mit dem Namen "Nordwind" und möchten alle Felder in der Tabelle "Kunden" auf einer ASP Seite ausgeben:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/nordwind.mdb"
set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Select * from Kunden", conn
for each x in rs.fields
response.write(x.name)
response.write(" = ")
response.write(x.value)
next
%>


Recordset und Verbindung schliessen

... und zum Schluss muss man die bestehende Verbindung bzw. Recordset wieder schliessen.

<%
rs.lose
conn.close
%>


Feldname und Feldwert in einer HTML Tabelle anzeigen

Wir können die Daten aus der Tabelle "Kunden" in eine HTML Tabelle einfügen:

<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/nordwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "Select Geschäftsname, Kontakt from
Kunden", conn
%>
<table border="1" width="100%">
<tr>
<%for each x in rs.Fields
response.write("<th>" & x.name & "</th>")
next%>
</tr>
<%do until rs.EOF%>
<tr>
<%for each x in rs.Fields%>
<td><%Response.Write(x.value)%></td>
<%next
rs.MoveNext%>
</tr>
<%loop
rs.close
conn.close
%>
</table>
</body>
</html>

Das ist das Resultat:

Geschäftsname Kontakt
Alfreds Futterkiste Maria Anders
Berglunds snabbköp Christina Berglund
Centro comercial Moctezuma Francisco Chang
Ernst Handel Roland Mendel
FISSA Fabrica Inter. Salchichas S.A. Diego Roel
Galería del gastrónomo Eduardo Saavedra
Island Trading Helen Bennett
Königlich Essen Philip Cramer
Laughing Bacchus Wine Cellars Yoshi Tannamuri
Magazzini Alimentari Riuniti Giovanni Rovelli
North/South Simon Crowther
Paris spécialités Marie Bertrand
Rattlesnake Canyon Grocery Paula Wilson
Simons bistro Jytte Petersen
The Big Cheese Liz Nixon
Vaffeljernet Palle Ibsen
Wolski Zajazd Zbyszek Piestrzeniewicz

Sie k?nnen keine Kommentare abgeben!