4..NET. Kombination von Frameworks, Sprachen, Werkzeugen, Webservices,... zur einfachen Entwicklung von Windows-Applikationen (inkl. Web-Appl.
|
|
- Rudolph Schmid
- vor 8 Jahren
- Abrufe
Transkript
1 1 4..NET Kombination von Frameworks, Sprachen, Werkzeugen, Webservices,... zur einfachen Entwicklung von Windows-Applikationen (inkl. Web-Appl.) gemeinsames Laufzeitsystem CLR (Common Language Runtime): abstrakte/virtuelle Maschine für alle.net-srachen (VB, C#, J#, Managed C++, Java, Fortran, Java, Haskell, Perl,... ) basiert auf gemeinsamer Zwischensprache CIL (Common Intermediate Language) gemeinsames Typsystem CTS (Common Type System) (sofortige) Just-in-time-Compilierung ( Sicherheit) umfassende OO-Klassenbibliothek (Kollektionen, Threads, Reflection, XML- Verarbeitung, Windows Forms, Web Forms, ADO.NET, ASP.NET) Versionierung ( Rettung aus der DLL-Hölle ) sehr gute Unterstützung von Webservices
2 2 4.1 C# sehr Java-ähnliche OO-Programmiersprache mit (Einfach-)Vererbung, Interfaces generische Typen (besser als in Java, da in CLR) Garbage-Collection Code-Verifikation (z.b. int nicht als Referenz) Exceptions (müssen nicht abgefangen oder deklariert werden) Reflection Iteratoren, foreach-schleife Assembly: (vgl..jar-datei in Java) Sammlung von Klassen mit Manifest (Inhaltsverzeichnis) und Metadaten über Schnittstellen als EXE oder DLL bereitgestellt (in Ordner oder Global Assembly Cache) kein Eintrag in Windows Registry erforderlich
3 3 Unterschiede zu Java auch Basistypen als Objekte verwendbar (Auto-Boxing und -Unboxing) (neben Referenztypen) Werttypen (structs, enum); auf Stack statt Heap neben call-by-value auch call-by-reference (T m(ref T2 p){...}, o.m(ref a)) mehrdimenionale Arrays als Speicherblock (statt Arrays von Arrays) z.b. int[,] a = new int[4,5];... x = a[2,0]; Property ˆ= Attribut mit getter und setter, z.b.: class C{ private in anzahl; public int Anzahl{set{anzahl = value;} get{return anzahl}} } C o;... o.anzahl = o.anzahl + 1;
4 4 Unterschiede zu Java (2) Namensraum ( ˆ= package) auf mehrere Verzeichnisse aufteilbar eine Datei umfasst ggf. mehrere Namensräume mit ggf. mehreren Klassen in unsafe-programmteilen können Typregeln ignoriert werden keine anonymen Klassen (dafür (ggf. anonyme) Methoden (delegates)) zur Ereignisbehandlung Objekte ggf. auf dem Stack (statt Heap) (eingeschränktes) goto überschreibbare Methoden als virtual deklariert (überschreibende als override, verdeckende als new) sealed-klassen haben keine Unterklassen (vgl. final in Java)
5 5 4.2 ASP.NET zur Gestaltung dynamischer Webseiten mit Interaktion über Formulare Webform: HTML-Seite mit integrierten Steuerelementen wird transformiert in reines HTML mit versteckten Formularfeldern und serverseitigem Code zur Ereignisbehandlung nicht nur das Abschicken eines Formulars, sondern die Bedienung jedes Steuerelements können ein Ereignis auslösen, das serverseitig bearbeitet wird das Ausfüllen eines Formulars und seine Bearbeitung erfolgen in mehreren http- Roundtrips zwischen Server und Browser
6 6 ASP.NET (Fortsetzung) Code behind: im Webformular kann auf Code zurückgegriffen werden, der in einer Oberklasse der Klasse zum Webform bereitgestellt wurde dadurch saubere Trennung von HTML (Webform) und C#-Code Unterschied zu JSP: ein Webform beschreibt die in Roundtrips befindliche aktuelle Seite (nicht die nächste) zum Wechsel der Seite muss ein Link oder eine Umleitung genutzt werden Masterseiten erlauben ein einheitliches Layout eines Webauftritts Sitzungsattribut speichert Informationen Sitzungs-übergreifend (wie JSP) Cookies können gesetzt und ausgelesen werden Validatoren für Benutzereingaben (werden in JavaScript übersetzt)
7 7 Beispiel: Webform Page Language="C#" AutoEventWireup="true" CodeBehind="BiblLogin.aspx.cs" Inherits="Bibliothek.BiblLogin" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" > <head runat="server"> <title>willkommen in der Bibliothek</title> </head> <body> <h1>willkommen in der Bibliothek</h1> <form id="form1" runat="server"> <div> <asp:label ID="PasswortLabel" runat="server" Text="Passwort"></asp:Label> <asp:textbox ID="Passwort" TextMode="Password" runat="server"></asp:textbox></br> <asp:requiredfieldvalidator ID="val" ControlToValidate="Passwort" ErrorMessage="Passwort angeben!" runat="server"/> <asp:button ID="Ok" runat="server" Text="Ok" OnClick="Login"/> </div> </form> </body> </html>
8 8 Beispiel: An Browser übertragene HTML-Seite (ohne Validator) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" > <head><title>willkommen in der Bibliothek</title></head> <body> <h1>willkommen in der Bibliothek</h1> <form name="form1" method="post" action="bibllogin.aspx" id="form1"> <div> <input type="hidden" name=" VIEWSTATE" id=" VIEWSTATE" value="/wepdwukmtixndiyotm0mmrkbodt+ziym71emrjnc9ap6hwwocg=" /> </div> <div> <span id="passwortlabel">passwort</span> <input name="passwort" type="text" id="passwort" /></br> <input type="submit" name="ok" value="ok" id="ok" /> </div> <div> <input type="hidden" name=" EVENTVALIDATION" id=" EVENTVALIDATION" value="/wewawkclip9bglsxadecglh777vdg/ifwxglurzvfnvqg/27x7y75wb" /> </div> </form> </body> </html>
9 9 using System; using System.Data;... using System.Web.UI.HtmlControls; using Bibliothek.Web; Beispiel: Zugehöriger Hintergrundcode namespace Bibliothek{ public partial class BiblLogin : System.Web.UI.Page { } public void Login(object sender, EventArgs ev){ string passw = Passwort.Text; if (passw!= "geheim123"){ Context.Session.Add("Login",false); Passwort.Text = "Fehlerhafte Eingabe";} else {Context.Session.Add("Login",true); Response.Redirect("Web/Bibliothek.aspx");}} } hinzu kommt eine automatisch generierte partielle Klasse BiblLogin hierin werden Variablen zum Zugriff auf Formularwerte wie Passwort deklariert
10 10 Beispiel 2: Webform Benutzer Anlegen Page Language="C#" AutoEventWireup="true" CodeBehind="BenutzerAnlegenWeb.aspx.cs" Inherits="Bibliothek.Web.BenutzerAnlegenWeb" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...> <html xmlns=" > <head runat="server"><title>benutzer Anlegen</title></head> <body> <h1>benutzer Anlegen</h1> <form id="form1" runat="server"> <div> <asp:label ID="NameLabel" runat="server" Text="Name"></asp:Label> <asp:textbox ID="Bname" runat="server"></asp:textbox><br/> <asp:label ID="Adresslabel" runat="server" Text="Adresse"></asp:Label> <asp:textbox ID="Badresse" runat="server"></asp:textbox><br/> <asp:button ID="Ok" runat="server" Text="Ok" OnClick="Anlegen"/> </div> </form> <a href="benutzerverwaltungweb.aspx">zurück</a> </body> </html>
11 11 Beispiel: Hintergrundcode zu Benutzer Anlegen using Bibliothek.Geschäftslogik;... namespace Bibliothek.Web { public partial class BenutzerAnlegenWeb : System.Web.UI.Page { protected void Page Load(object sender, EventArgs e) { if ((Context.Session["Login"] == null) (Convert.ToBoolean(Context.Session["Login"]) == false)) Response.Redirect("BiblLogin.aspx");} } } public void Anlegen(object sender, EventArgs ev) { string name = Bname.Text; string adresse = Badresse.Text; if ((name == null) (name == "")) Response.Redirect("Fehler.htm"); try{ Benutzerverwaltung bv = new Benutzerverwaltung(); bv.benutzeranlegen(name,adresse); Response.Write("Benutzer "+name+" gespeichert!"); Bname.Text = ""; Badresse.Text = "";} catch(exception){response.redirect("fehler.htm");}}
12 ADO.NET Framework zum Zugriff auf Datenbanken und andere Datenquellen verbindsorientierter oder verbindungsloser Zugriff Schritte beim verbindungsorientierten Zugriff: Verbindung zur DB aufbauen wiederhole: SQL-Anweisung mit Platzhaltern erstellen Platzhalter mit Werten befüllen, z.b. mit SQL-Anweisung ausführen (ExecuteScalar, ExecuteNonQuery, ExecuteReader) Ergebnisse verarbeiten (ggf. in Schleife) Verbindung abbauen
13 Beispiel: Geschäftslogik mit ADO.NET using System.Data.SqlClient;... namespace Bibliothek.Geschäftslogik{ public class Benutzerverwaltung{ public void BenutzerAnlegen(string name, string adresse){ SqlConnection verbindung = } new SqlConnection(ConfigurationManager.ConnectionStrings["Bibliothek"].ConnectionString); verbindung.open(); string sqltext = "SELECT COUNT(*) FROM Benutzer WHERE Name SqlCommand sql = new SqlCommand(sqltext, verbindung); sql.parameters.addwithvalue("@name", name); int anzahl = (int) sql.executescalar(); if (anzahl > 0) throw new Exception("Name schon vergeben"); else{ sqltext = "INSERT INTO Benutzer (Name, Adresse)" + "VALUES + "SELECT CAST(SCOPE IDENTITY() AS INT);"; sql = new SqlCommand(sqltext, verbindung); sql.parameters.addwithvalue("@name", name); sql.parameters.addwithvalue("@adresse", adresse); int bid = (int) sql.executescalar();} verbindung.close();}} 13
14 14 Beispiel 2: Mengenwertige Anfragen verarbeiten (1) public string AusleiheAnzeigen(int kundennr) { SqlConnection verbindung = new SqlConnection(ConfigurationManager.ConnectionStrings["Bibliothek"].ConnectionString); try { verbindung.open(); } catch (Exception e) { Console.Write(e); } string sqltext = "SELECT Name, Bid, Bezeichnung, Inventarnr, Datum " + "FROM Benutzer B, Ausleihe A, Exemplar E, Medium M " + "WHERE B.Bid AND B.Bid = A.Benutzer AND A.Exemplar = E.Inventarnr " + " AND E.Medium = M.Id AND M.Medientyp = 0; " + "SELECT Name, Bid, Bezeichnung, Inventarnr, Datum " + "FROM Benutzer B, Ausleihe A, Exemplar E, Medium M " + "WHERE B.Bid AND B.Bid = A.Benutzer AND A.Exemplar = E.Inventarnr " + " AND E.Medium = M.Id AND Medientyp = 1"; SqlCommand sql = new SqlCommand(sqltext, verbindung); sql.parameters.addwithvalue("@bid", kundennr); SqlDataReader erg = sql.executereader();... (b.w.)...
15 15 } Beispiel 2: Mengenwertige Anfragen verarbeiten (2)... (s.o.)... string[] medientext = { "Bücher", "CDs" }; string ausgabe = ""; int i = 0; do { ausgabe += "<h1>ausgeliehene " + medientext[i] + "</h1>"; ausgabe += "<Table border="1">"; ausgabe += "<tr><th>name</th><th>benutzernr</th><th>bezeichnung</th>"; ausgabe += "<th>inventarnr</th><th>datum</th></tr>"; while (erg.read()) { object[] werte = new object[erg.fieldcount]; erg.getsqlvalues(werte); ausgabe += "<tr>"; foreach (object wert in werte) ausgabe += "<td>"+wert.tostring()+"</td>"; ausgabe += "</tr>";} ausgabe += "</Table>"; i++;} while (erg.nextresult()); verbindung.close(); return ausgabe;
16 16 Anmerkungen zu den Beispielen statt SQL direkt aus der Geschäftslogik aufzurufen, kann man eine OR-Mapping-Schicht zwischenschalten Beispiel 2 vermischt der Kürze halber Präsentationslogik und Geschäftslogik deutlich besser wäre: eine Datenstruktur mit Ergebnissen (DTO) an Präsentationsschicht liefern (nur) die Präsentationschicht HTML-Code generieren lassen die Transaktionsverarbeitung fehlt noch (s.u.)
17 17 Transaktionsverarbeitung Schritte: BeginTransaction, jedes SqlCommand der Tr. zuordnen, Commit bzw. Rollback lokale oder verteilte Transaktionen mit vorgegebenem Isolationslevel Isolationslevel: ReadUncommitted: kein Schutz, Sperren werden ignoriert ReadCommitted: Tupel können nur nach commit gelesen werden die zugehörigen Tabellen können sich während der Transaktion ändern wiederholtes Lesen einer Tabelle liefert ggf. andere Ergebnisse ReadRepeatable: wiederholte Abfrage liefern die gleichen Ergebnisse Serializable Trade-off zwischen Effizienz und unerwünschten Effekten
18 18 Beispiel: Transaktionsverarbeitung mit ADO.NET public void BenutzerAnlegen(string name, string adresse){ SqlConnection verbindung = new SqlConnection(ConfigurationManager.ConnectionStrings["Bibliothek"].ConnectionString); SqlTransaction trans = null; try { verbindung.open(); trans = verbindung.begintransaction(isolationlevel.readcommitted); string sqltext = "SELECT COUNT(*) FROM Benutzer WHERE Name SqlCommand sql = new SqlCommand(sqltext, verbindung); sql.parameters.addwithvalue("@name", name); sql.transaction = trans; } int anzahl = (int) sql.executescalar(); if (anzahl > 0) throw new Exception("Name schon vergeben"); else{ sqltext = "INSERT INTO Benutzer (Name, Adresse)" + "VALUES + "SELECT CAST(SCOPE IDENTITY() AS INT);"; sql = new SqlCommand(sqltext, verbindung); sql.parameters.addwithvalue("@name", name); sql.parameters.addwithvalue("@adresse", adresse); sql.transaction = trans; int bid = (int) sql.executescalar(); trans.commit();}} catch (Exception e) {if (trans!= null) trans.rollback(); Console.WriteLine(e);} finally {verbindung.close();}
Übung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
Mehrphp Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrDokumentation Externe Anzeige von Evento Web Dialogen
Dokumentation Externe Anzeige von Evento Web Dialogen Autor: Roger Guillet Telefon 058 404 83 57 E-Mail roger.guillet@crealogix.com CREALOGIX Evento Postfach 112, Baslerstrasse 60 CH-8066 Zürich Telefon
MehrDatenbanksysteme SS 2007
Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans
MehrJDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.
JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten
MehrWeb Visu Tutorial. Hipecs Web Visu. Übersicht
Revision Date V100 10082011 Hipecs Web Visu Die hipecs (high performance controller system) bietet die Möglichkeit einer sog Web-Visualisierung über den integrierten Webserver Hierfür wird im Standard
MehrOracle: Abstrakte Datentypen:
Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
Mehr6.9 Java Server Pages
DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException
MehrKurzanweisung für Google Analytics
Kurzanweisung für Google Analytics 1. Neues Profil für eine zu trackende Webseite erstellen Nach dem Anmelden klicken Sie rechts oben auf den Button Verwaltung : Daraufhin erscheint die Kontoliste. Klicken
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
Mehrdesk.modul : WaWi- Export
desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrDesign anpassen eine kurze Einführung
Design anpassen eine kurze Einführung Das gesamte Layout von Papoo basiert auf modernen CSS Layouts die vollständig ohne Layout Tabellen funktionieren. Um schnell vorhandene Designs anpassen zu können
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrASP: Active Server Pages
ASP: Active Server Pages Allgemeines: ASP ist die serverseitige Schnittstelle zu Skripten/Programmen ausgehend vom Microsoft-Internet- Information-Server (z.b. in Windows Server enthalten) Skript- und
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrASP.NET. von Patrick A. Lorenz. 1. Auflage. ASP.NET Lorenz schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG. Hanser München 2002
ASP.NET von Patrick A. Lorenz 1. Auflage ASP.NET Lorenz schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Hanser München 2002 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446
Mehr8a. Exkurs.NET. 8a.1.NET Architektur
8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrEs wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.
Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder
Mehr3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln
MehrMultimedia im Netz Wintersemester 2011/12
Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrÜbersicht... 2 Dateiupload... 3 Administratorfunktionen... 4
Inhalt Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4 Benutzer hinzufügen... 4 Benutzerverwaltung... 5 Ordner anlegen... 6 Rechteverwaltung... 7 Verlag für neue Medien Seite 1 Übersicht Mit
MehrWie richten Sie Ihr Web Paket bei Netpage24 ein
Wie richten Sie Ihr Web Paket bei Netpage24 ein Eine kostenlose ebook Anleitung von Netpage24 - Webseite Information 1 E-Mail Bestätigung... 3 2 Ticketsystem... 3 3 FTP Konto anlegen... 4 4 Datenbank anlegen...
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrGesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
MehrE-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015
Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische
MehrÜbungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
MehrMicrosoft.NET & IBM System i - Webanwendungen mit AJAX - I Christian Neißl, 28.12.2010
Microsoft.NET & IBM System i - Webanwendungen mit AJAX - I Christian Neißl, 28.12.2010 Im Jahr 2006 hat ein cleverer Journalist den Namen AJAX erfunden. Der Begriff beschreibt eine damals bereits bekannte
MehrIch liebe Java && Ich liebe C# Rolf Borst
Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String
MehrJava Virtual Machine (JVM) Bytecode
Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,
Mehreasylearn Webservice lsessionservice Interface für Single Sign On (SSO)
- 1 - easylearn Webservice lsessionservice Interface für Single Sign On (SSO) SDN AG, Solution Development Network Dezember 2008 - 2 - Inhaltsverzeichnis Inhaltsverzeichnis... 2 easylearn Webservice lsessionservice...
Mehrecaros2 - Accountmanager
ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf
MehrProgrammieren 2 (Prof. Hasbargen) Klausur
Programmieren 2 (Prof. Hasbargen) 1 Klausur Aufgabe 1 (10 Punkte) Dynamisierung von HTML-Seiten HTML-Seiten sind eine gängige Art und Weise, Informationen darzustellen. Nennen Sie die Gründe, welche Vorteile
MehrDatenbanken für Online Untersuchungen
Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren
Mehr3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten
O Reillys Taschenbibliothek 3. Auflage C# 5.0 kurz & gut O REILLY Joseph Albahari & Ben Albahari Aktualisierung von Lars Schulten Inhalt C# 5.0 kurz & gut... 1 Ein erstes C#-Programm... 2 Syntax... 5 Typgrundlagen...
MehrKommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten
Kommunikationsnetze 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten Gliederung 1. Einführung 2. Server-basierte Techniken 3. Client-basierte techniken Literatur: A. S. Tanenbaum, Computer
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrStudentische Lösung zum Übungsblatt Nr. 7
Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrAnwendungsprotokolle: HTTP, POP, SMTP
Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrESB - Elektronischer Service Bericht
Desk Software & Consulting GmbH ESB - Elektronischer Service Bericht Dokumentation des elektronischen Serviceberichts Matthias Hoffmann 25.04.2012 DESK Software und Consulting GmbH Im Heerfeld 2-4 35713
MehrWPF Steuerelemente Listbox, ComboBox, ListView,
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
MehrSchwachstellenanalyse 2012
Schwachstellenanalyse 2012 Sicherheitslücken und Schwachstellen in Onlineshops Andre C. Faßbender Schwachstellenforschung Faßbender 13.01.2012 Inhaltsverzeichnis 1. Abstract... 3 2. Konfiguration der getesteten
MehrJDBC. Allgemeines ODBC. java.sql. Beispiele
JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet
Mehr~±] Inhalt. 1.1 Ähnlichkeiten zwischen C# und Java Unterschiede zwischen C# und Java Das.NET-Framework 4 1.
~±] 1 C# und das.net-framework 1 1.1 Ähnlichkeiten zwischen C# und Java 1 1.2 Unterschiede zwischen C# und Java 2 1.3 Das.NET-Framework 4 1.4 Übungsaufgaben 9 2 Erste Schritte 11 2.1 Hello World 11 2.2
MehrFaclets. Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz
Facelets Faclets Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz (COMMON DEVELOPMENT AND DISTRIBUTION LICENSE) Von Jacob
MehrJava Server Pages (JSP)
Überblick über Internet-Technologien Server-Technologien Datenbankkopplung Servlets JSP PHP CGI XML+XSL Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver HTML+Javascript HTML+Applets
MehrArbeiten mit einem lokalen PostgreSQL-Server
Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php
Mehr5. Übung: PHP-Grundlagen
5.1. Erstes PHP-Programm 1. Schreiben Sie PHP-Programm innerhalb einer Webseite, d.h. innerhalb eines HTML-Dokument. Ihr PHP-Programm soll einen kurzen Text ausgeben und Komentare enthalten. Speichern
MehrBFV Widgets Kurzdokumentation
BFV Widgets Kurzdokumentation Mit Hilfe eines BFV-Widgets lassen sich die neuesten Ergebnisse und die aktuellen Tabellen des BFV auf der eigenen nicht kommerziellen Webseite mit wenig Aufwand einbeten.
Mehr.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage
.htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess
MehrSophia Business Leitfaden zur Administration
Sophia Business Leitfaden zur Administration 1. Anmelden... 2 2. Zugangscode neu anlegen... 3 3. Zugangscodes verwalten... 4 4. Ergebnisse anzeigen... 5 5. Installation und technische Hinweise... 6 a.
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
MehrPython SVN-Revision 12
Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang
MehrUnsere Webapplikation erweitern
Unsere Webapplikation erweitern Um die Webapplikation zu benutzen: 1. Starten Sie den Server, indem Sie das Hauptprogramm in der Klasse ImdbServer starten. 2. Laden Sie im Browser die Seite http://localhost:8080/html/index.html.
MehrDatenmanagement in Android-Apps. 16. Mai 2013
Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer
MehrSoftware Engineering II
Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters
MehrBenutzerverwaltung Business- & Company-Paket
Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrDynamische Webseiten mit PHP. Oder: LAMP - The open way
Dynamische Webseiten mit PHP Oder: LAMP - The open way Verbreitung Neben ASP verbreitetste Web-Scripting-Umgebung LAMP (Linux, Apache, mysql, PHP): freie Alternative zu M$ Überblick Dynamische Webseiten
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrNeue Features in C# 2.0
Neue Features in C# 2.0 (gekürzt) Generische Typen Iteratoren Vereinfachte Delegate-Erzeugung Anonyme Methoden Partielle Klassen Sonstiges University of Linz, Institute for System Software, 2004 published
MehrSoftwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011
Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011 Studiengang: Semester: 3. Gruppe: Wirtschaftsinformatik A & B Datum: 29.06.2011 Dozent: LfbA Dipl.-Hdl. Andreas Heß Hilfsmittel: alle Unterlagen/Bücher
MehrSicherheit in Webanwendungen CrossSite, Session und SQL
Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery
MehrOP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
MehrGrundlagen der Informatik 2
Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
MehrAndroid Java Specifics / Basic IO
Dalvik virtual machine Registermaschine anstelle einer Stackmaschine Optimiert für geringen Speicherverbrauch Umwandlung von.class Dateien in.dex-format mit Hilfe von dx Jedes Programm läuft als eigener
MehrBenutzerverwaltung mit Zugriffsrechteverwaltung (optional)
Benutzerverwaltung mit Zugriffsrechteverwaltung (optional) Mit der Zugriffsrechteverwaltung können Sie einzelnen Personen Zugriffsrechte auf einzelne Bereiche und Verzeichnisse Ihrer Internetpräsenz gewähren.
MehrAufgaben HTML Formulare. Prof. Dr. rer. nat. Claus Brell, http://claus-brell.de, claus.brell@hs-niederrhein.de, Wirtschaftsinformatik, Statistik
1 Aufgaben HTML Formulare Aufgabe 1 (Vorbereitung) Google Suche 2 Probieren vor Studieren.. Arbeitsauftrag: 1.) Fügen Sie mit Notepad++ in Ihrer Datei index.html den unten gezeigten Quelltextschnipsel
MehrDynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten
CGI einfach PHP Dynamik bis zur DB-Interaktion 1 CGI Möglichkeiten Das Common Gateway Interface (CGI) ermöglicht den Entwurf von interaktiven, benutzergesteuerten Web-Applikationen. Der WWW-Server ruft
MehrEinführung in die Informatik Tools
Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht
MehrWorkshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ
IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler
MehrJavakurs zu Informatik I. Henning Heitkötter
Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,
MehrUniversal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.
ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf
Mehrmobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005
Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.
MehrDatenbank-basierte Webserver
Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
MehrErstellen eines HTML-Templates mit externer CSS-Datei
Erstellen eines HTML-Templates mit externer CSS-Datei Eigenschaften der Lösung Menü mit 2 Ebenen ohne Bilder, Menü besteht aus Text (Links) Durch CSS kann das Menü aber auch die Seite angepasst werden
MehrBeschreibung Installation SSH Server für sicher Verbindung oder Bedienung via Proxyserver. (Version 5.x)
Beschreibung Installation SSH Server für sicher Verbindung oder Bedienung via Proxyserver. (Version 5.x) www.luf.at Inhaltsverzeichnis 1 ÜBERSICHT...3 1.1 Wann benötige ich die Installation des SSH Servers?...3
MehrArrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrC# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung
C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
MehrArrays Fortgeschrittene Verwendung
Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung
MehrWeb Engineering. http://vsr.informatik.tu-chemnitz.de
Verteilte und selbstorganisierende Rechnersysteme WS 11/12 07/08 Praktikum Web Engineering Dipl.-Inf. Olexiy Chudnovskyy Technische Universität Chemnitz Fakultät für Informatik Professur Verteilte und
MehrWählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:
Installation Bevor Sie mit der Installation von MOVIDO 1.0 beginnen, sollten Sie sich vergewissern, dass der Internet Information Server (IIS) von Microsoft installiert ist. Um dies festzustellen, führen
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrWorkshop Java Webentwicklung Tapestry. Ulrich Stärk
Workshop Java Webentwicklung Tapestry Ulrich Stärk Webanwendungen Antwort im Browser des Benutzers sichtbar Anfrage geht ein Antwort rendern Anfrage an passenden Code weiterleiten 2 Servlets Servlet wird
Mehr