Ok! Una domanda ma perché questa istruzione:
int Result=s.executeUpdate("CREATE DATABASE databasename");
e non semplicemente
s.executeUpdate("CREATE DATABASE databasename");
?
Comunque funziona in entrambi i modi. Ovviamente ho messo la clausola IF NOT EXISTS.
Però mi è venuto un altro dubbio: e se il database già esiste togliendo l'url dalla connection lui come fa a sapere a quale db collegarsi? Nel mio caso getConnection() e createDb() sono due metodi separati che invoco sequenzialmente.
edit infatti non va: se oltre a mettere l'istruzione di creazione del database metto anche quella di creazione della tabella mi dice
java.sql.SQLException: No database selected
Mi pareva troppo facile...
Metto i pezzi di codice incriminati:
Grazie!codice:public static Connection getConnection() throws SQLException { return connection = DriverManager.getConnection(url, admin, adm_passwd); } /** * Crea il database se non esistente */ public static void createDb () throws SQLException { st=connection.createStatement(); st.executeUpdate("CREATE DATABASE IF NOT EXISTS TableManager"); st.executeUpdate("CREATE TABLE IF NOT EXISTS Products"); }

Rispondi quotando
