Accès aux bases de données

Fichier de configuration

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.

Générer un fichier de configuration

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 :

  • Dans l'onglet Project, sélectionnons l'option Add New Item
  • Dans la fenêtre de choix de nouvel élément, nous sélectionnons Application Configuration File

Ajouter des clés et des valeurs dans le fichier de configuration

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 :

<add key="keyName" value="keyValue" />.

Sous la balise <configuration>, nous allons créer un élément <connectionStrings> qui comportera un élément avec les paramètres de connexion.


Code XML (App.config) (8 lignes) :
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <configuration>
  3. <connectionStrings>
  4. <add name="Brol"
  5. providerName="System.Data.OleDb"
  6. connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=brol.mdb"/>
  7. </connectionStrings>
  8. </configuration>

Lire les valeurs

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".

Accéder au fichier de configuration

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 :

  • Sélectionner Project, puis Add Reference...
  • Dans l'onglet .NET, sélectionner System.Configuration

Accéder aux données du fichier de configuration

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 :

ConfigurationManager.AppSettings["KeyName"]

Si nous désirons accéder à notre chaîne de connexion :

ConfigurationManager.ConnectionStrings[Brol].ConnectionString

Remarque

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...

Exemple

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).


Code c# (Lecture DB Console) (18 lignes) :
  1. String dbName = "Brol";
  2. String provider = ConfigurationManager.ConnectionStrings[dbName].ProviderName;
  3. //Console.WriteLine("Provider found for DB " + dbName + " : " + provider);
  4. DbProviderFactory dbpf = DbProviderFactories.GetFactory(provider);
  5. DbConnection dbCon = dbpf.CreateConnection();
  6. DbCommand dbCom = dbpf.CreateCommand();
  7. dbCon.ConnectionString = ConfigurationManager.ConnectionStrings[dbName].ConnectionString;
  8. dbCon.Open();
  9. dbCom.Connection = dbCon;
  10. dbCom.CommandText = "select Titre_film from tb_films";
  11. DbDataReader dbDReader = dbCom.ExecuteReader();
  12. if (dbDReader != null)
  13. while (dbDReader.Read())
  14. Console.WriteLine((String)dbDReader["Titre_film"]);
  15. dbDReader.Close();
  16. dbCon.Close();
  17. Console.WriteLine("Press enter to exit...");
  18. 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.

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

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.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-3672
Document créé le 01/10/06 11:06, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http:///www.gaudry.be/csharp-app-config.html
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15838 documents
455 astuces.
550 niouzes.
3107 definitions.
447 membres.
8121 messages.

Document genere en :
0,07 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Ce n'est pas en regardant la lumière que l'on devient lumineux, mais en plongeant dans son obscurité. Mais ce travail est souvent désagréable, donc impopulaire.

Carl Gustav Jung
 
l'infobrol
Nous sommes le Dimanche 28 Mai 2017, 05:14, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)