//----------------------------------------------------------------------------- // ExJDBC9b.java // tourne le 14 avril 2021 //----------------------------------------------------------------------------- import java.io.*; import java.sql.*; class ExJDBC5 { static void ex55(Connection c) throws SQLException { String texte = "delete "+lireClavier("nom table ?"); // serait pareil si drop table System.out.println(texte); Statement s = c.createStatement(); s.execute(texte); s.close(); // nom fonction pas connu : int -> int (sans repetition) : String texte = "{ ? = call "+lireClavier("nom fonction ?")+"(14)}"; System.out.println(texte); CallableStatement cs = c.prepareCall(texte); cs.registerOutParameter(1, Types.INTEGER); cs.execute(); System.out.println(cs.getInt(1)) cs.close(); // nom fonction pas connu : int -> int (sans repetition), // nom user pas connu : String f = lireClavier("nom fonction ?"); String u = lireClavier("login unix "); String texte = "{ ? = call c##"+u+"_a."+f+"(14)}"; System.out.println(texte); CallableStatement cs = c.prepareCall(texte); cs.registerOutParameter(1, Types.INTEGER); cs.execute(); System.out.println(cs.getInt(1)) cs.close(); } //------------------------------------------------------------------------- static String lireClavier(String message) { try { System.out.print(message); BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in)); return clavier.readLine(); } catch (Exception e) { return "erreur dans fonction lireClavier"; } } //------------------------------------------------------------------------- public static void main(String[] args) throws SQLException, ClassNotFoundException { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection c = DriverManager.getConnection ("jdbc:oracle:thin:c##ewaller_a/ewaller_a@tp-oracle:1522:dbinfo"); while (true) { System.out.println("-------------------------------"); System.out.println("Bienvenue dans ExJDBC1"); System.out.println("55 : SQL dynamique : "); System.out.println("9 : deconnexion"); System.out.println("0 : terminer"); int n = Integer.parseInt(lireClavier("Entrez votre choix : ")); switch (n) { case 55 : ex55(c); break; case 9 : c.close(); break; case 0 : return; } } } } //-----------------------------------------------------------------------------