06.10.2013 Aufrufe

pdf 1.967 kB - Praktische Informatik - Universität Siegen

pdf 1.967 kB - Praktische Informatik - Universität Siegen

pdf 1.967 kB - Praktische Informatik - Universität Siegen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

ket "org.apache.derby.jdbc" verwendet weden.<br />

Somit ergäbe sich der folgende Aufruf:<br />

KAPITEL 3. ENTWICKLUNG DES SYSTEMS<br />

Class.forName("org.apache.derby.jdbc.EmbeddedDriver");<br />

Connection con = DriverManager.getConnection<br />

("jdbc:derby:MyDatabase;create=true");<br />

Mit dieser Codesequenz wurde der JDBC-Treiber geladen. Zudem wurde eine Verbindung<br />

zur Datenbank aufgebaut. Die hier genutzten Funktionen sind in den Klassen der<br />

JDK-Bibliothek im Paket "java.sql" enthalten.<br />

Um die Manipulation der sich in der Datenbank befindlichen Daten zu ermöglichen, ist es<br />

notwendig zunächst ein Anweisungsobjekt vom Typ "Statement" zu erzeugen. Hat man<br />

ein Statement-Objekt beschafft, kann dessen Methode "executeQuery" dazu verwendet<br />

werden, Daten aus der Datenbank zu lesen. Die Methode erwartet einen SQL-String<br />

in Form einer gültigen SELECT-Anweisung und gibt ein Objekt vom Typ ResultSet<br />

zurück, das die Ergebnismenge repräsentiert. Um Datenbankänderungen durchzuführen,<br />

stellt das Anweisungsobjekt die Methode "executeUpdate" zur Verfügung. Auch sie erwartet<br />

als Argument einen String mit einer gültigen SQL-Anweisung. Nachfolgend wird<br />

ein simples Beispiel präsentiert, in dem eine Tabelle in der Datenbank erstellt wird.<br />

Anschließend werden zwei Objekte vom Typ in die Tabelle eingefügt. Ein Objekt vom<br />

Typ "User" ist hierbei die Instanz einer Klasse, welche die beiden Strings "name" und<br />

surname sowie die entsprechenden Zugriffsmethoden beinhaltet. Als letzter Schritt werden<br />

die eingefügten Vornamen ausgelesen und mit Hilfe der Standardausgabe visualisiert.<br />

Hierbei wurde bereits im Vorfeld eine Verbindung, gemäß der oben gezeigten Methode,<br />

aufgebaut. Zu beachten ist, dass die hier verwendeten Methoden eine "SQLException"<br />

werfen können, welche aufgefangen oder weitergereicht werden muss.<br />

Statement stm = conn.createStatement();<br />

stm.executeUpdate("CREATE TABLE users<br />

(id INTEGER, name CHAR(30), surname CHAR(30))");<br />

String tempName = user1.getName();<br />

String tempSurname = user1.getSurname();<br />

stm.executeUpdate("INSERT INTO users VALUES<br />

(1, ’"+ tempName +"’, ’"+ tempSurname +"’)");<br />

String tempName2 = user2.getName();<br />

String tempSurname2 = user2.getSurname();<br />

stm.executeUpdate("INSERT INTO users VALUES<br />

(2, ’"+ tempName2 +"’, ’"+ tempSurname2 +"’)");<br />

ResultSet res1 = stm.executeQuery<br />

("SELECT name FROM users WHERE id=’"+user1.getID()+"’");<br />

ResultSet res2 = stm.executeQuery<br />

("SELECT surname FROM users WHERE id=’"+user2.getID()+"’");<br />

ResultSet res3 = stm.executeQuery<br />

("SELECT name FROM users WHERE id=’"+user1.getID()+"’");<br />

ResultSet res4 = stm.executeQuery<br />

14

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!