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
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