PHP und ASP - Ein Vergleich

Definition | Nutzen | PHP | ASP | Vergleich | Alternativen | Quellen
 
[ <<< ] - [ Inhalt ] - [ >>> ] - Seite 8 / 11
 

ASP - ein kleines Beispiel

Hier nun das komplette Suchskript in ASP umgesetzt:
 [db_read.php]

  (1) <%@ LANGUAGE = "VBScript" %>
  (2) <% Suchtext = Request.Form("Suchtext") %>
  (3) <html><head></head>
  (4) <body>
  (5) <%= "Sie suchen nach: " & Suchtext & "<p>" %>

  (6) <%
  (7)  ' Datenbankoperationen komplett
  (8)  ' ohne Fehlerbehandlung
  (9)  Dim db_conn, db_abfr
 (10)  Set db_conn = Server.CreateObject("ADODB.Connection")
 (11)  db_conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
 (12)                Source=D:\Inetpub\wwwroot\Proseminar\Firma.mdb"
 (13)  Set db_abfr = db_conn.Execute("SELECT * FROM Kunden
 (14)                WHERE Name LIKE '%" & Suchtext & "%'")

 (15)  Do While Not db_abfr.eof
 (16)   Response.write db_abfr.Fields("Nr")
 (17)   Response.write db_abfr.Fields("Name")
 (18)   Response.write db_abfr.Fields("Adresse")
 (19)   Response.write "<br>"
 (20)   db_abfr.MoveNext
 (21)  Loop
 (22)  db_abfr.close
 (23)  db_conn.close 
 (24) %>
 (25) </body></html>
Am Anfang der ASP-Datei - hier in Zeile (1) - muss festgelegt werden, in welcher Sprache die Skripte verfasst sind, wobei ein späterer Wechsel der Sprachen noch möglich ist. Da im Gegensatz zu PHP nicht automatisch Variablen für die übermittelten Formularfelder mit deren Inhalt angelegt werden, wird dies hier in Zeile (2) erledigt. Dabei wird das schon erwähnte Request-Objekt benutzt, um auf die übermittelten Daten zugreifen zu können.

In Zeile (5) wird zur Kontrolle der Suchbegriff ausgegeben, bevor dann ab Zeile (9) die eigentliche Suche beginnt. Ein ASP-Abschnitt trennt man wie in Zeile (6) ersichtlich mit dem Prozentzeichen als Tagname vom Rest der Seite. Da ASP von sich aus nicht auf Datenbanken (in diesem Fall ein MS-Access-DB) zugreifen kann, wird in Zeile (10) mittels des Server-Objekts eine Instanz der Klasse ADODB.Connection angelegt. Mit dieser ist es nun möglich, alle benötigten Datenbankoperationen auszuführen.

In den Zeilen (11) bis (14) wird nun die Datenbank geöffnet und die Suchabfrage gestartet. Das Ergebnis steht nun als Objekt mit dem Namen db_abfr zur Verfügung, d.h. es ist nachträglich noch möglich, das Ergebnis weiter zu filtern oder zu sortieren. Die Ausgabe erfolgt in einer Schleife in den Zeilen (15) bis (21), wobei erst geprüft wird, ob bereits alle gefundenen Datensätze ausgegeben wurden, dann die Ausgabe erfolgt und danach zum nächsten Element gewechselt wird.

Nachdem in Zeile (22) und (23) die Objekte die offenen Verbindungen noch ordnungsgemäss geschlossen haben, kann die Aufgabe als gelöst angesehen werden. Bei einem direkten Vergleich dieser mit der PHP-Variante fallen schnell grosse Gemeinsamkeiten in der Durchführung auf. Das prinzipielle Vorgehen ist bei beiden Varianten gleich, nur die Aufrufe der Funktionen bzw. Methoden unterscheiden sich.
 

Markus John - markus.john@s2000.tu-chemnitz.de
Letzte Aktualisierung: 27.07.2001