Base de données intégrée avec chemin relatif

Résolu
Nicodoss Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -  
Nicodoss Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
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

tarek_dotzero Messages postés 817 Date d'inscription   Statut Membre Dernière intervention   122
 
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.
0
Nicodoss Messages postés 42 Date d'inscription   Statut Membre Dernière intervention  
 
Merci c'est très très gentille, je suis très content de la résolution, Encore une fois, un grand merci à tout le monde et à tarek_dotzero.
0