JDBC MS-SQL √ DB2 (√) Oracle√ MySQL√ Access√ SUN Schnittstelle SUN Treiber der Datenbank (z.B. MsSQL) 1.) Treiber 2.) JDBC-URL Der Treiber muss im Klassenpfad sichtbar sein. JDBC-ODBC = Adapter von JDBC nach ODBC und umgekehrt SQL -> Structured Query Language ODBC -> Open Database Connectivity Sekundärschlüssel = Fremdschlüssel Siehe Seite 34 //-> lädt den Treiber -> meldet sich beim Treibermanager an. Class.forName(..driver..); Connection con = DriverManger.getConnection(url, user, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuerty(„SELECT * FROM tab_Tabelle“); // zum nächsten Datensatz -> Gibt true wenn der Datensatz existiert while (rs.next()) { System.out.println(rs.getString(1); // Es beginnt mit der Spalte 1. System.out.println(rs.getString(2); } Speziell für das Update Statement stmt = con.createStatement(); stmt.executeUpdate(...); (returnWert ist int = Anzahl angefasste Datensätze); „insert into verlag (verlag.id, verlag.name, ‚webadresse‘)“ + Values (123, ‚viewweg‘, ‚www.viewweg.de‘)“ „Delete from verlag where verlag.id = 123“ „Update verlag set verlag.name = ‚abc‘ „ + „where verlag.id = 123“ SQL-Injection Quoting = Datebankspezifisch = sucht den Text ab und ersetzt die schädlichen Zeichen( \‘\) PrepartedStatement „Update verlag set verlag.name = ‚abc‘ where verlag.id = 123“ wird zu „Update verlag set verlag.name = ? where verlag.id = ?“ PreparedStatement prepStmt = con.createPreparedStatement(); prepStmt.setString(1, ‚abc‘); setInt.setString(1, 123); Exceptions (kein Code) 2 mal UML (UML-Diagramme zeichnen) 1 Programm mit Sockets zu schreiben (Code schreiben) Fragen über JDBC (kein Code)