1 / 45

Internet-Datenbanken und ASP

Internet-Datenbanken und ASP. Eine Einführung von J.Sommer & A.Vortisch. Internet-Datenbanken und ASP Inhalt:. Voraussetzungen Was ist ASP ? - Unterschiede zu CGI - Aufbau ‚Hallo World‘ mit ASP Grundlegende Befehle ODBC und ADO .... Was ist denn das ?! Die erste Datenbankabfrage

nairi
Download Presentation

Internet-Datenbanken und ASP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Internet-Datenbanken und ASP Eine Einführung vonJ.Sommer&A.Vortisch

  2. Internet-Datenbanken und ASPInhalt: • Voraussetzungen • Was ist ASP ? - Unterschiede zu CGI - Aufbau • ‚Hallo World‘ mit ASP • Grundlegende Befehle • ODBC und ADO .... Was ist denn das ?! • Die erste Datenbankabfrage • Einfügen von Daten in die Datenbank • Löschen von Daten

  3. Folgende Voraussetzungen müssen erfüllt sein: Leistungsfähiger Rechner (200MHZ, 128 MB, SCSI-Platte, TCP/IP-Netzwerk) NT 4 - Server Office 97 NT-Service Pack 3 oder 4 MS-Internet-Explorer 4 SP1 Option-Pack 4 für NT 4 Service-Release 1 oder 2 für Office 97 Internet-Datenbanken und ASP Voraussetzungen Vom Option-Pack 4 benötigen Sie nur :- IIS 4- Transaction-Server (für ASP)- und die Datenbankanbindungen- eventuell Beispiele und HilfenWichtig: Legen Sie bei der Installation von NT Partitionen (System, Daten usw,) an und vergebenSie Rechte (NT ist normalerweise total offen !!) Installieren Sie in dieser Reihenfolge !!! Installieren Sie von Office 97 die Access ODBC-Treiber mit.Ansonsten gilt : Weniger ist mehr. Nur die unbedingt nötigen Komponenten installieren.

  4. Internet-Datenbanken und ASP Was ist ASP ? Unterschiede zu CGI Was ist ASP ? Active Server Pages ist eine Technologie, die es Internet-Entwicklern erlaubt, jede Art und Anzahl von serverseitigen Programmiersprachen in einer HTML Datei zu kombinieren, um dynamische Web-Seiten zu erzeugen. Dies bedeutet: - ASP sind Scripte, die auf einem Server laufen und NICHT beim Anwender - ASP-Scripte können mit verschiedenen Programmiersprachen erstellt werden (VB-Script, JavaScript, Pearl - Standard: VB-Script) - ASP-Scripte sind HTML-Dateien mit eingefügtem Quellcode und haben die Endung .ASP - Der Quellcode wird vom Server interpretiert und nur die Ergebnisse werden zum Anwender verschickt.- ASP ist eine Microsoft Technologie und funktioniert nur mit dem IIS 4

  5. Internet-Datenbanken und ASP Was ist ASP ? Unterschiede zu CGI Unterschiede zu CGI ? - CGI bedeutet Common Gateway Interface und läuft immer in einem eigenen Adressraum, der vom Betriebssystem gestellt wird - ASP läuft im Adressraum des Webservers und ist damit schneller - CGI‘s werden immer mit EINER Programmiersprache erstellt - In ASP kann man HTML und Programmcode mischen - ASP erlaubt Kontrolle über die laufende Anwendung (Session) - ASP erlaubt den Austausch von Daten zwischen den Anwendungen - ASP erlaubt das Verwenden von Active-X-Komponenten

  6. Internet-Datenbanken und ASP Was ist ASP ? Unterschiede zu CGI Aufbau von ASP ASP besteht aus Objekten und Komponenten: Objekte: - Das Application-Object wird gebraucht, um Daten innerhalb einer ASP-Anwendung auszutauschen - Das Request-Object wird benötigt, um Eingaben in HTML-Formulare und Parameter der Kommandozeile auszulesen - Das Response-Object sendet Daten zum Client-Browser - Das Server-Object erlaubt Zugriff auf interne Komponenten - Das Session-Object gibt Kontrolle über bestimmte User-Aktionen

  7. Internet-Datenbanken und ASP Was ist ASP ? Unterschiede zu CGI Komponenten: - Die AD ROTATOR Komponente erlaubt das Einblenden von Werbung - Die BROWSER CAPABILITIES Komponente liefert Informationen über den Client-Browser (Typ, Version, OS usw.) - Die DATABASE ACCESS Komponente ermöglicht den Zugriff auf eine ODBC-Datenbank - Die CONTENT LINKING Komponente ermöglicht die Katalogisierung der Web-Pages auf einen Server - Die FILE ACCESS Komponente erlaubt den Zugriff auf Textdateien

  8. Internet-Datenbanken und ASP Was ist ASP ? Unterschiede zu CGI Wir beschränken uns im Folgenden auf: - das Request Object - das Response Object - das Server Object und - die Database Access Komponente

  9. Internet-Datenbanken und ASP ‚Hallo World‘ mit ASP Das folgende Beispiel zeigt ein einfaches aber voll funktionsfähiges ASP-Script. Es wird die Write-Methode des Response Objekts verwendet, um Daten auszugeben. Aufruf: lektion2a.asp

  10. Internet-Datenbanken und ASP ‚Hallo World‘ mit ASP <%@language = VBScript %> <HTML> <Head> <Title> ASP-Einfuehrung Lektion 2a </Title> </head> <body> <h4> Dies ist ein ASP Test ! </h4> <br> Wenn alles richtig konfiguriert ist, sollte nach dieser Zeile der Satz 'Hallo World' erscheinen. <br> <% response.write("Hallo World") %> </body> </html> Lektion2a.asp

  11. Internet-Datenbanken und ASP Grundlegende Befehle Das folgende Beispiel zeigt ein einfaches aber voll funktionsfähiges ASP-Script. Es werden die verschiedenen Variable-Typen gezeigtund angezeigt. Aufruf: lektion3a.asp

  12. Internet-Datenbanken und ASP Grundlegende Befehle Variablen (Deklaration): <%@language = VBScript %> <% Dim a Dim b Dim c,d,e Dim f(3) %> <HTML> <Head> <Title> ASP-Einfuehrung Lektion 3a - Variablen </Title> </head> <% a = "Hallo" b = "World" c = 2000 d = 200000 e = 3.14159 f(0) = "Ein" f(1) = "Array" f(2) = "Test" %> <body> <h4> Dies ist ein ASP Test ! </h4> Lektion3a.asp

  13. Internet-Datenbanken und ASP Grundlegende Befehle Variablen (Benutzung): <br> Wenn alles richtig konfiguriert ist, sollten Sie die Inhalte und Typen der Variablen a bis f angezeigt bekommen. <br> <table> <% response.write("<tr><td>Strings a,b : </td><td>" & a & " " & b & "</td></tr>") response.write("<tr><td>Integer c : </td><td>" & c & "</td></tr>") response.write("<tr><td>Long Int d : </td><td>" & d & "</td></tr>") response.write("<tr><td>Kommazahl e : </td><td>" & e & "</td></tr>") response.write("<tr><td>Array f(3) : </td><td>" & f(0) & " " & f(1) & " " & f(2) & "</td></tr>") %> </table> </body> </html> Lektion3a.asp

  14. Internet-Datenbanken und ASP Grundlegende Befehle Die wichtigsten Operatoren : + : Addieren - : Subtrahieren * : Multiplizieren / : Dividieren & : Strings addieren < : kleiner als > : größer als <> : ungleich <= : kleiner gleich als >= : größer gleich als = : gleich Rem / ‘ : Kommentar

  15. Internet-Datenbanken und ASP Grundlegende Befehle Funktionen : Function name [(Argumente)] [Anweisungen] [name=Rückgabewert] [Exit Function] [Anweisungen] [name=Rückgabewert] End Function

  16. Internet-Datenbanken und ASP Grundlegende Befehle Kontrollbedingungen: If BedingungA Then [Anweisungen A] [ElseIf BedingungB Then [Anweisungen B]]... [Else [Anweisungen C]] End If Select Case Testausdruck [Case Ausdrucksliste] [Anweisungen]... [Case Else Ausdruck [Anweisungen]] End Select

  17. Internet-Datenbanken und ASP Grundlegende Befehle Schleifen: For counter = Start To Ende [Step Differenz] [Anweisungen] [Exit For] [Anweisungen] Next While [Bedingung] [Anweisungen] [Exit While] [Anweisungen] Wend Do [{While | Until} Bedingung] [Anweisungen] [Exit Do] [Anweisungen] Loop For Each Element In Gruppe [Anweisungen] [Exit For] [Anweisungen] Next

  18. Internet-Datenbanken und ASP Grundlegende Befehle Das folgende Beispiel zeigt ein einfaches ASP-Script, welcheswichtige Funktionen, die immer wieder benötigt werden, enthält. Zusätzlich wird die Abfrage von Kommandozeilen-Parameter und die Definition von eigenen Funktionen gezeigt.Das Script gibt x-Anzahl von Zehnerblöcken Ihres Textes aus. Aufruf: lektion3b.asp?Anzahl=[x]&Text=[Ihr Text]

  19. Internet-Datenbanken und ASP Grundlegende Befehle <%@language = VBScript %> <% Dim anzahl Dim a Dim c Dim Text if request("Anzahl")="" or request("Anzahl")>10 or request("Anzahl")<1 then 'Parameter "Anzahl" pruefen anzahl=10 else anzahl=request("Anzahl") end if if request("Text")="" then 'Parameter "Text" pruefen text="Nichts angegeben!" else text=request("Text") end if %> Lektion3b.asp

  20. Internet-Datenbanken und ASP Grundlegende Befehle <HTML> <Head> <Title> ASP-Einfuehrung Lektion 3b - Beispiele für grundlegende Befehle </Title> </head> <body> <h4> Dies ist ein ASP Test ! </h4> <br> <% 'len = Stringlaenge c=string(len(text),"*") 'String mit Sternchen erzeugen for a = 1 to anzahl response.write( chr(64+a) & ") " & c & "<br>") ‘erzeuge Zeichen von A bis ... ausgabe(text) next %> Lektion3b.asp

  21. Internet-Datenbanken und ASP Grundlegende Befehle </body> <% function ausgabe(x) dim t for t= 1 to 10 response.write( t & " : " & x & "<br>" ) next end function %> </html> Lektion3b.asp

  22. ODBC und ADO... Was ist den das ?! Das Komponenten-Modell: • Microsoft verfolgt neue Technologien auf Basis seines Component Object Modells (COM) • Mittelpunkt der neuen Datenbankstrategie ist OLE DB • OLE DB erlaubt nicht nur Zugriff auf relationale Datenquellen (z.B. Access, SQL-Server), sondern ist universell und beherrscht auch Zugriff auf Internet-Logs, Mail- oder Textdateien

  23. ODBC und ADO... Was ist den das ?! • OLE DB tritt in Aktion, wenn ein sog. Consumer Daten anfordert • Ein solcher Consumer können z.B. die Active Data Objects (ADO) sein, die ein Entwickler in ASP-Seiten verwendet hat • OLE DB leitet die Anfragen eines Consumers an den richtigen Provider (z.B. eine Datenbank) weiter • Die Verbindung zwischen OLE DB und Datenbank wird über ODBC (Open Database Connectivity) hergestellt

  24. ODBC und ADO... Was ist den das ?!

  25. Internet-Datenbanken und ASP Die erste Datenbankabfrage Das folgende Beispiel zeigt ein ASP-Script, welches die Tabelle‚TB_Firma‘ der Datenbank ‚BPS.mdb‘ anzeigt. Es werden auch Möglichkeiten zum Hinzufügen und Löschen von Daten angeboten (lektion6 und lektion7). Die Datenbank muß dafür im ODBC-Setup als ‚BPS‘ angemeldetsein. Die Verwendung der DATABASE ACCESS Komponente wird hier demonstriert. Aufruf: lektion5a.asp

  26. Internet-Datenbanken und ASP Die erste Datenbankabfrage <%@language = VBScript %> <HTML> <Head> <Title> ASP-Einfuehrung Lektion 5a - Beispiel für eine Datenbankabfrage </Title> </head> <body> <h4> Inhalt von TB_Firmen </h4> <br> Lektion5a.asp

  27. Internet-Datenbanken und ASP Die erste Datenbankabfrage <% sql="SELECT TB_Firmen.Key_Firma, TB_Firmen.Name, TB_Firmen.Strasse, TB_Firmen.PLZ, TB_Firmen.Ort, TB_Firmen.Telefon, TB_Firmen.Fax, TB_Firmen.[E-Mail] FROM TB_Firmen" set DB=server.createobject("ADODB.CONNECTION") DB.open("BPS") set RS=DB.execute(sql) if DB.errors.count=0 then %> <table border=1> <tr> <td><b>Nr.</td><td><b>Name</td><td><b>Strasse</td> <td><b>PLZ</td><td><b>Ort</td><td><b>Telefon</td> <td><b>Fax</td><td><b>E-Mail</td><td><b>Optionen</td> </tr> <% Lektion5a.asp

  28. Internet-Datenbanken und ASP Die erste Datenbankabfrage while not rs.eof %> <tr> <td> <%response.write( RS("Key_Firma") )%> </td> <td> <%response.write( RS("Name") )%> </td> <td> <%response.write( RS("Strasse") )%> </td> <td> <%response.write( RS("PLZ") )%> </td> <td> <%response.write( RS("Ort") )%> </td> <td> <%response.write( RS("Telefon") )%> </td> <td> <%response.write( RS("Fax") )%> </td> <td> <%response.write( RS("E-Mail") )%> </td> <td> <a href="lektion7a.asp?Nr=<%response.write( RS("Key_Firma"))%>">l&ouml;schen</a></td> </tr> <% rs.movenext wend Lektion5a.asp

  29. Internet-Datenbanken und ASP Die erste Datenbankabfrage RS.Close DB.Close %> </table> <br> <a href="lektion6a.htm">Hinzuf&uuml;gen</a> <% else response.write( "<br>Es sind Datenbankfehler aufgetreten : <br>" ) for j = 0 to DB.errors.count - 1 response.write( DB.errors(j).description & "<br>" ) next DB.errors.clear end if %> </body> </html> Lektion5a.asp

  30. Internet-Datenbanken und ASP Die erste Datenbankabfrage Aufgabe: Programmieren Sie ein ASP-Script, das aus der Datenbank ,BPS.mdb‘ die Tabelle ‚TB_Praktikanten‘ ausliest. Benutzen Sie folgendes SQL-Statement: SELECT TB_Praktikanten.Key_Praktikant, TB_Praktikanten.Name, TB_Praktikanten.Vorname, TB_Praktikanten.Matrikelnummer, TB_Praktikanten.[E-Mail], TB_Praktikanten.Telefon FROM TB_Praktikanten Lösung: lektion5b.asp

  31. Internet-Datenbanken und ASP Die erste Datenbankabfrage Das folgende Beispiel zeigt ein ASP-Script, welches die Praktikanten einer Firma anzeigt. Jede Firma kann 2 Praktikanten aufnehmen.Die Datenbank ‚BPS.mdb‘ muß dafür im ODBC-Setup als ‚BPS‘ angemeldet sein. Die DATABASE ACCESS Komponente und die Verwendung von komplexeren SQL-Befehlen wird hier demonstriert. Aufruf: lektion5c.asp

  32. Internet-Datenbanken und ASP Die erste Datenbankabfrage <%@language = VBScript %> <HTML> <Head> <Title> ASP-Einfuehrung Lektion 5c - Beispiel für eine Datenbankabfrage </Title> </head> <body> <h4> Firmen und ihre Praktikanten </h4> <br> Lektion5c.asp

  33. Internet-Datenbanken und ASP Die erste Datenbankabfrage <% sql = "SELECT TB_Firmen.Name, TB_Firmen.Telefon, TB_Praktikanten.Name AS pr1, TB_Praktikanten_1.Name AS pr2" sql = sql & " FROM TB_Praktikanten INNER JOIN (TB_Praktikanten AS TB_Praktikanten_1 INNER JOIN TB_Firmen ON" sql = sql & " TB_Praktikanten_1.Key_Praktikant = TB_Firmen.Key_Praktikant1) ON TB_Praktikanten.Key_Praktikant = TB_Firmen.Key_Praktikant2" Lektion5c.asp

  34. Internet-Datenbanken und ASP Die erste Datenbankabfrage set DB=server.createobject("ADODB.CONNECTION") DB.open("BPS") set RS=DB.execute(sql) if DB.errors.count=0 then %> <table border=1> <tr> <td><b>Name</td> <td><b>Telefon</td> <td><b>Praktikant1</td> <td><b>Praktikant2</td> </tr> <% Lektion5c.asp

  35. Internet-Datenbanken und ASP Die erste Datenbankabfrage while not rs.eof %> <tr> <td> <%response.write( RS("Name") )%> </td> <td> <%response.write( RS("Telefon") )%> </td> <td> <%response.write( RS("pr1") )%> </td> <td> <%response.write( RS("pr2") )%> </td> </tr> <% rs.movenext wend Lektion5c.asp

  36. Internet-Datenbanken und ASP Die erste Datenbankabfrage RS.Close DB.Close %> </table> <% else response.write( "<br>Es sind Datenbankfehler aufgetreten : <br>" ) for j = 0 to DB.errors.count - 1 response.write( DB.errors(j).description & "<br>" ) next DB.errors.clear end if %> </body> </html> Lektion5c.asp

  37. Internet-Datenbanken und ASP Einfügen von Daten Das folgende Beispiel zeigt ein HTML-Formular zum Erzeugen eines neuen Firmeneintrags in der Datenbank. Die Datenbank ‚BPS.mdb‘ muß dafür im ODBC-Setup als ‚BPS‘ angemeldet sein. Das Formular nimmt nur die Daten entgegen und ruft dannein ASP-Script (lektion6a.asp) auf, welches die Verbindung zur Datenbank herstellt und einen neuen Datensatz erzeugt. Aufruf: lektion6a.htm Komplette Anwendung für Firmenverwaltung: lektion5a.asp

  38. Internet-Datenbanken und ASP Einfügen von Daten <html> <head> <title>ASP-Einfuehrung Lektion 6a - Beispiel für das Einfügen von Daten</title> </head> <body> <H2>Neuer Firmeneintrag</H2> <form method="Post" action="lektion6a.asp"> <table border=0> <tr> <td>Name:</td> <td><input TYPE="text" NAME="Name" SIZE="50" MAXLENGTH="50"></td> </tr> <td>Strasse:</td> <td><input TYPE="text" NAME="Strasse" SIZE="50" MAXLENGTH="50"></td> </tr> <td>PLZ:</td> <td><input TYPE="text" NAME="PLZ" SIZE="50" MAXLENGTH="50"></td> </tr> Lektion6a.htm

  39. Internet-Datenbanken und ASP Einfügen von Daten <td>Ort:</td> <td><input TYPE="text" NAME="Ort" SIZE="50" MAXLENGTH="50"></td> </tr> <td>Telefon:</td> <td><input TYPE="text" NAME="Telefon" SIZE="50" MAXLENGTH="50"></td> </tr> <td>FAX:</td> <td><input TYPE="text" NAME="Fax" SIZE="50" MAXLENGTH="50"></td> </tr> <td>E-Mail:</td> <td><input TYPE="text" NAME="Email" SIZE="50" MAXLENGTH="50"></td> </tr> </table> <hr size=7> <input type="SUBMIT" value="Speichern"> <input type="RESET" value="Reset"> </form> </body> </html> Lektion6a.htm

  40. Internet-Datenbanken und ASP Einfügen von Daten <%@language = VBScript %> <% on error resume next Rem ASP-Einfuehrung Lektion 6a - Beispiel für das Einfügen von Daten name=request("Name") strasse=request("Strasse") plz=request("PLZ") ort=request("Ort") telefon=request("Telefon") fax=request("Fax") email=request("Email") Set DB = Server.CreateObject("ADODB.Connection") DB.Open "BPS" Lektion6a.asp

  41. Internet-Datenbanken und ASP Einfügen von Daten sql = "INSERT INTO TB_Firmen(Name,Strasse,PLZ,Ort,Telefon,Fax,[E-Mail])" sql = sql & " VALUES (" sql = sql & "'" & name & "'," sql = sql & "'" & strasse & "'," sql = sql & "'" & plz & "'," sql = sql & "'" & ort & "'," sql = sql & "'" & telefon & "'," sql = sql & "'" & fax & "'," sql = sql & "'" & email & "')" Set rs = DB.Execute(sql) 'response.write(sql) db.close response.redirect("lektion5a.asp") ‘ruft nach dem Einfügen die Übersicht auf %> Lektion6a.asp

  42. Internet-Datenbanken und ASP Einfügen von Daten Aufgabe: Programmieren Sie ein HTML-Formular und ein ASP-Script, welche in der Tabelle ,TB_Praktikanten‘ der Datenbank ,BPS.mdb‘ einen neuen Datensatz erzeugen. Benutzen Sie folgendes SQL-Statement: INSERT INTO TB_Praktikanten (Name,Vorname, Matrikelnummer,[E-Mail],Telefon) VALUES ([Name],[Vorname],[Matrikelnummer],[E-Mail],[Telefon]); Lösung: lektion6b.htm und lektion6b.asp Komplette Anwendung für Praktikantenverwaltung: lektion5b.asp

  43. Internet-Datenbanken und ASP Löschen von Daten Das folgende Beispiel zeigt ein ASP-Script, welches Einträge aus der Tabelle ‚TB_Firmen‘ löscht. Die Datenbank ‚BPS.mdb‘ muß dafür im ODBC-Setup als ‚BPS‘ angemeldet sein. Die Index-Nummer der zu löschenden Firma, wird an der Kommandozeile des Scripts übergeben (siehe auch lektion5a.asp) Aufruf: lektion7a.asp Komplette Anwendung für Firmenverwaltung: lektion5a.asp

  44. Internet-Datenbanken und ASP Löschen von Daten <%@language = VBScript %> <% on error resume next Rem ASP-Einfuehrung Lektion 7a - Beispiel für das Löschen von Daten key=request("Nr") Set DB = Server.CreateObject("ADODB.Connection") DB.Open "BPS" sql = "delete * from TB_Firmen where Key_Firma=" & key & ";" Set rs = DB.Execute(sql) 'response.write(sql) db.close response.redirect("lektion5a.asp") %> Lektion7a.asp

  45. Internet-Datenbanken und ASP Löschen von Daten Aufgabe: Programmieren Sie ein ASP-Script, welches aus der Tabelle ,TB_Praktikanten‘ der Datenbank ,BPS.mdb‘ einen Datensatz löscht. Die Index-Nummer soll als Kommandozeilenparameter ‚?Nr=‘ übergeben werden. Benutzen Sie folgendes SQL-Statement: delete * from TB_Praktikanten where Key_Praktikant=[Nr]; Lösung: lektion7b.asp Komplette Anwendung für Praktikantenverwaltung: lektion5b.asp

More Related