// Cognome e Nome: Cognome, Nome // Numero di matricola: // Data di Nascita: // login su SQL server: // Password su SQL server: import java.sql.*; import java.io.*; class punto3_4 { // subname deve essere sostituito con l'identificatore ODBC creato static String Con_URL = "jdbc:odbc:subname"; public static void main (String args []) //args[0]= codice prima pizza; args[1]= codice seconda pizza { try{ Connection con; // caricamento driver Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); // connessione: N deve essere sostituito con il numero del vostro gruppo con =DriverManager.getConnection(Con_URL,"login","password"); // inserire chiamate per creare lo statement PreparedStatement pquery = con.prepareStatement("select Pizza.nome, sum(quantita*costoUnitario) from Ordini, Pizze where Ordini.codPizza=Pizze.codPizza and data between '1/1/2004' and '1/31/2004' and Ordini.codPizza=?"); pquery.setString(1,args[0]); ResultSet rs1= pquery.executeQuery(); // analisi risultato con cursore while (rs1.next()) { System.out.println("Pizza: " + rs1.getString(1) + " Ricavato: " + rs1.getFloat(2)); } pquery.setString(1,args[1]); ResultSet rs2= pquery.executeQuery(); // analisi risultato con cursore while (rs2.next()) { System.out.println("Pizza: " + rs1.getString(1) + " Ricavato: " + rs1.getFloat(2)); } Statement st = con.createStatement(); st.executeUpdate("delete from Pizze where codicePizze NOT IN (select codicePizza from Ordini)"); st.executeUpdate("update Pizze set CostoUnitario= CostoUnitario* .95 where CodicePizza in (select codicePizza from Pizze where nome='Margherita' or nome='Quattro Stagioni')"); // chiusura connessione con.close(); } catch(java.lang.ClassNotFoundException e) { System.err.print("ClassNotFoundException: "); System.err.println(e.getMessage()); } catch (SQLException e) { while( e!=null){ System.out.println("SQLState: " + e.getSQLState()); System.out.println(" Code: " + e.getErrorCode()); System.out.println(" Message: " + e.getMessage()); e = e.getNextException(); } } } }