Nous pouvons travailler avec une ou plusieurs bases de données dans nos applications, mais que se passe-t-il par exemple si nous décidons de déplacer la base de données? Si nous avons déclaré les paramètres de connexion (connectionString) qui contiennent le chemin d'accès à la base de données dans notre code, nous devons absolument recompiler le code. La situation est identique si nous désirons modifier le type de base de donnée (providerName) que nous utilisons.
La tendance actuelle nous pousse à externaliser nos différents paramètres de configuration de nos applications dans des fichiers (les fichiers properties en Java, les fichiers de configuration App.config en C#).
Le fichier de configuration est donc un fichier XML qui comporte l'ensemble des balises contenant les paramètres nécessaires à notre application, que nous pouvons modifier sans devoir modifier le code.
Si nous travaillons avec un éditeur de texte, nous pouvons créer un fichier App.config et introduire manuellement les balises ainsi que leurs attributs et valeurs.
Si nous avons la chance de travailler avec un IDE, ce dernier fait une partie importante du travail à notre place. Par exemple, sous Visual Studio (ou Visual Studio Express), nous pouvons procéder de la manière suivante :
Si nous avons demandé à Visual Studio de nous générer un fichier de configuration, un document XML de base est automatiquement créé. Nous allons y placer des valeurs qui seront utilisées par notre application.
Nous pouvons placer des paires clé/valeur sous l'élément <appSettings>, sous la forme suivante :
Sous la balise <configuration>, nous allons créer un élément <connectionStrings> qui comportera un élément avec les paramètres de connexion.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="Brol" providerName="System.Data.OleDb" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=brol.mdb"/> </connectionStrings> </configuration>
Lorsque nous compilons le programme, un fichier exécutable est généré, ainsi qu'un fichier de configuration de même nom. Par exemple, si la classe qui contient le point d'entrée de notre application se nomme MyProgram, les deux fichiers suivants seront générés : "MyProgram.exe" et "MyProgram.exe.config".
Avant de pouvoir utiliser le fichier de configuration, notre projet doit avoir une référence vers System.Configuration. Si ce n'est pas le cas, nous pouvons l'ajouter de la manière suivante :
Nous pouvons retrouver les éléments sous ConfigurationManager, sous la forme de tableaux.
Si nous désirons accéder à KeyValue que nous avons spécifié plus haut, nous récupérons cette valeur à l'index KeyName du tableau AppSettings que nous procure ConfigurationManager :
Si nous désirons accéder à notre chaîne de connexion :
Nous devons être attentif à la casse :
nous avons défini notre élément appSettings dans notre fichier de configuration, mais nous récupérons un tableau AppSettings...
Nous allons donc utiliser notre base de données de films que nous avons créé lors de notre introduction à Microsoft Access. Attention que le chemin que nous spécifions est dans le cas de cet exemple un fichier relatif : nous devons donc placer la base de données au même endroit que le fichier exécutable (Si nous le désirons, nous pouvons aussi utiliser un chemin absolu).
String dbName = "Brol"; String provider = ConfigurationManager.ConnectionStrings[dbName].ProviderName; //Console.WriteLine("Provider found for DB " + dbName + " : " + provider); DbProviderFactory dbpf = DbProviderFactories.GetFactory(provider); DbConnection dbCon = dbpf.CreateConnection(); DbCommand dbCom = dbpf.CreateCommand(); dbCon.ConnectionString = ConfigurationManager.ConnectionStrings[dbName].ConnectionString; dbCon.Open(); dbCom.Connection = dbCon; dbCom.CommandText = "select Titre_film from tb_films"; DbDataReader dbDReader = dbCom.ExecuteReader(); if (dbDReader != null) while (dbDReader.Read()) Console.WriteLine((String)dbDReader["Titre_film"]); dbDReader.Close(); dbCon.Close(); Console.WriteLine("Press enter to exit..."); Console.ReadLine();
Nous pouvons remarquer dans le code ci-dessus que nous ne fournissons pas explicitement le type de base de données (provider) à la fabrique de Providers, mais que nous récupérons ce dernier dans le fichier de configuration.
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
14 mots clés dont 0 définis manuellement (plus d'information...).
Avertissement
Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.
Recherche (afficher)
Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
Citation (masquer)