Base de données intégrée avec chemin relatif
Résolu
Nicodoss
Messages postés
56
Statut
Membre
-
Nicodoss Messages postés 56 Statut Membre -
Nicodoss Messages postés 56 Statut Membre -
Bonjour,
mettre
ma base comme vous remarquez est C:\\Users\\HP\\Desktop\\NetworkManager\\src\\LANNETWORKAPI.sqlite"
mais l'utilisateur n'a pas à avoir le même chemin.
Comment m'y prendre pour paramétrer cette chaîne.
Merci D'avance pour votre aide.
mettre
public static Connection connectDataBase(){
try{
Class.forName("org.sqlite.JDBC");
Connection con = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\HP\\Desktop\\NetworkManager\\src\\LANNETWORKAPI.sqlite");
return con;
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
}
ma base comme vous remarquez est C:\\Users\\HP\\Desktop\\NetworkManager\\src\\LANNETWORKAPI.sqlite"
mais l'utilisateur n'a pas à avoir le même chemin.
Comment m'y prendre pour paramétrer cette chaîne.
Merci D'avance pour votre aide.
1 réponse
-
Bonjour,
Si vous avez la possibilité de forcer votre utilisateur à mettre la base des données dans le même dossier que le jar exécutale, cela vous évitera de mettre un chemin et il suffit de mettre ".\LANNETWORKAPI.sqlite"
Sinon, vous pouvez toujours lui demander le chemin vers la base des données comme un paramètre de ligne de commande ou dans un fichier de configuration et de le passer pour la méthode :public static Connection connectDataBase(String chemin){ try{ Class.forName("org.sqlite.JDBC"); Connection con = DriverManager.getConnection("jdbc:sqlite:" + chemin); return con; }catch(Exception e){ JOptionPane.showMessageDialog(null, e); } } }
Vous pouvez utiliser java.utils.Properties pour gérer des propriétés et il est simple de les charger à partir d'un fichier XML :
https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#loadFromXML(java.io.InputStream)
Bon Courage.