import java.sql.*; import java.io.*; public class ResultSetExample { // String, der die DB-Verbindung beschreibt. private static final String CONNECT_URL = "jdbc:oracle:oci8:@lsintern-db"; public static void main(String[] argv) { // ------------------------------------------------------------ // -- Variablen // ------------------------------------------------------------ BufferedReader in = // Reader für Consoleneingabe new BufferedReader(new InputStreamReader(System.in)); Connection conn = null; // Verbindung zu Oracle Statement sql_stmt = null; // Anfrage String name = null; // user für Verbindung String passwd = null; // passwd für Verbindung // ------------------------------------------------------------ // -- Code // ------------------------------------------------------------ // Benutzeridentifikation und Authentisierung try { System.out.println("Benutzername: (/ = \"identified externally\"):"); name = in.readLine(); if (!name.equals("/")) { System.out.println("Passwort:"); passwd = in.readLine(); } } catch (IOException e) { System.out.println("Fehler beim Lesen der Eingabe: " + e); System.exit(-1); } // Initialisierung der Datenbankverbindung und der Anfrage try { System.out.println("Verbindungsaufbau zu: " + CONNECT_URL); Class.forName("oracle.jdbc.driver.OracleDriver"); if (passwd == null) conn = DriverManager.getConnection(CONNECT_URL); else conn = DriverManager.getConnection(CONNECT_URL, name, passwd); conn.setAutoCommit(false); sql_stmt = conn.createStatement(); } catch (Exception e) { System.err.println("Folgender Fehler ist bei der Initialisierung aufgetreten: " + e); System.exit(-1); } // Datenbankanfragen // select avg(semester) from studenten try { ResultSet rset = sql_stmt.executeQuery("select avg(semester) from studenten"); rset.next(); System.out.println("Durchschnittsalter: " + rset.getDouble(1)); rset.close(); } catch(SQLException se) { System.out.println("Error: " + se); } // select name, raum from professoren where rang = 'C4' try { ResultSet rset = sql_stmt.executeQuery("select name, raum from professoren where rang = 'C4'"); System.out.println("C4-Professoren:"); while(rset.next()) { System.out.println(rset.getString("name") + " " + rset.getInt("raum")); } rset.close(); } catch(SQLException se) { System.out.println("Error: " + se); } // Aufräumen try { sql_stmt.close(); conn.close(); } catch (SQLException e) { System.out.println("Fehler beim Schliessen der DB-Verbindung: " + e); } } }