Salve, sto creando un programma dove (tra le tante cose) si da la possibila all'utente di cambiare url, nome e password relativi alla connessione del database.
In una classe ottengo i valori che vengono salvati in un file.properties e fino a qui tutto ok. Il problema nasce quando sono nella classe relativa alla connesione del batabase. La colpa non è del metodo OutProp (che va a prendere i dati nel file properties) perchè l'ho provato in un'altra classe e funziona perfettamente. Quindi credo ci sia un problema di scrittura codice forse nel metodo public static Connection ConnectDb() perchè essendo statico ci si deve comportare in modo diverso e dato che ho iniziato da poco a studiare il Java penso mi sia sfuggito qualcosa.
ps. Scrivendo Connection conn = DriverManager.getConnection ("jdbc:mysql://localhost/databaseprogetto/root/root"); si connette perfettamente al server.
Vi ringrazio per ogni tipo di suggerimento o soluzione e spero di essermi spiegato bene.
codice:import java.io.FileInputStream; import java.sql.*; import javax.swing.*; import java.io.IOException; import java.util.Properties; public class JavaConnect { Connection conn = null; static String url_database; static String username; static String password; public void OutProp (){ Properties prop = new Properties(); try { prop.load(new FileInputStream("config.properties")); url_database = prop.getProperty("Url"); username = prop.getProperty("Username"); password = prop.getProperty("Password"); } catch (IOException ex) { ex.printStackTrace(); } } public static Connection ConnectDb(){ try{ Class.forName ("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection (url_database,username,password); return conn; } catch (Exception e) { JOptionPane.showMessageDialog(null, "Connessione database fallita."); return null; } } }

Rispondi quotando