LE GUIDE DU PROGRAMMEUR PROGRAMMATION en 4 COUCHES AVEC BASE DE DONNÉES Version 2 par Innocent AKPATOIJ Guide du programmeur – Programmation en 4 couches avec base de données Table des matières or20 Sni* to View Contexte 4 1. 1. Sujet 1. 2. Modèle de données „ . „ . 1. 3. Architecture de développement des applications . 1. 4. Résultat attendu 2. Création de la base de données et de la table . 2. 1. Notions sur SQ Agent f) Compilation et 19 Création de la solution .
Net 8 c) Couche d’accès aux données – Création de la classe d’accès aux données «dbAgent» d) Couche Metier – Création de la classe métier ?Agent» _ 12 e) Couche Application – Création de l’interface de liste . lg . 19 20 d’insertion. — 14 3. 2. Création de la fenêtre de détail Couche Application — Création de l’interface de détail 3. 3. Gestion de ‘ajout d’un a) Couche Physique – Création de la procédure stockée d’insertion . ) Couche d’accès aux données – Création de la méthode d’accès aux donnees 22 Couche métier – Création des attributs, propriétés métier et la méthode métier 23 Couche Application PAGF 7 OF sélection — 26 Couche application – Mise à jour des formulaires . 3. 5. Gestion de la modification 28 Couche Physique – Création de la procédure stockée Couche d’accès aux données – Création des méthode • 29 Couche métier— Création de la méthode Update…. 29 Couche Application- Mise à jour des interfaces.. . 6. Gestion de la suppression d’un Agent.. 31 27 30 Couche d’accès aux données – Création de la méthode . 30 Couche métier – Création de la méthode Delete Couche Application — Mise à jour des interfaces . 31 Guide du programmeur Pro rammation en 4 couches avec base PAGF base de données (SGBD) SQL Server. Les principes de développements abordés ici sont : C] La programmation multicouche qui permet une meilleure aintenance La programmation orientée objet qui facilite la réutilisabilité.
Guide du programmeur Programmation en 4 couches avec base 1 . Contexte 1. 1. sujet Créer une petite application permettant de Lister et mettre à jour les Agents dune Entreprise. .2. Modèle de données Soit la table suivante : matricule nom varchar(50) datecreation datetime serveur et exécuter des requêtes. En tant que SGBD, il permet la création et la gestion de plusieurs bases de données. A l’installation l’utilisateur a la possibilité d’installer une instance par défaut ou une instance nommée.
La différence c’est u’avec l’instance nommée il faut préciser le nom de l’instance pour se connecter. 2. 2. Les modes d’authentification (mode de connexion) Il existe 2 modes d’authentification sur SQL Server Le mode d’authentification intégré Windows SQL Server utilise le compte de l’utilisateur Windows connecté pour effectuer la connexion. Bien entendu cela sera possible si l’administrateur lui a donné les droits d’accès.
Le mode d’authentification SQL L’utilisateur ou le programme utilise un compte avec mot de passe définit dans SQL Serveur pour se connecter. Dans le cadre de notre tutoriel nous utiliserons le mode ‘authentification intégré Windows. Pour se connecter au server il faut indiquer D Le nom du serveur sur lequel on se connecte () cas instance par défaut (N) cas instance nommée Cl Le mode d’authentification (Intégré Windows ou SQL Serveur) Dans le cas où le mode d’authentification choisi est SQL Server, définir aussi : L’utilisateur Cl Le mot de passe 2. . Se Connecter au serveur de base de données Lancer SQL Server Management Studio, la fenêtre se connecter apparait : PAGF s OF tables Les procédures stockées Les vues Son interface est composée d’une barre de menu horizontale, ‘une barre d’outils, ainsi que d’une liste hiérarchique permettant de parcourir les objets de de base de données. 2. 4.
Création de la base de données et de la table Dérouler le nœud base de données puis «Clic Droit» + «Nouvelle base de données» Saislr le nom de la base de données (GestperDB) puis cliquer 6 La base de données créée apparait dans le nœud données » OF « Base de Puis dans l’écran qui s’affiche choisir « Autres types de projets » + « Solutions Visual Studio » + « Solution Vide » : La fenêtre « Explorateur de solution » affiche la solution vide : ) Couche d’accès aux données – Création de la classe d’accès aux Ajouter un nouveau projet de type «bibliothèque de classes» nommé «GestPerDataAccess».
Cliquer Droit Sur le nœud solution « GestPer » + « Ajouter » + « Nouveau Projet » Choisir le langage C#, le type de projet bibliothèque de classe puis définir le nom du projet 7 OF commençant par le paramètre nom public DataTable SelectAll(string nom) //Définition de la chaine de connexion string constr = « data source=(local);lnitial catalog=GestPerDB; Integrated Security=true i’; //Connexion de la base de données SqlConnection con = new SqlConnection(constr); on. open(); //Création de la commande SqICommand cmd = new SqlCommand(« SPX_Agent_Select », con); cmd.
CommandType CommandType. StoredProcedure; //AJout des paramètres SqlParameter prm; prm = new SqlDbType. VarChar, 50); prm. Value = nom; cmd. Parameters. Add(prm); //récupération des données DataTable dt; dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(cmd); //Remplissage du datatable da. Fill(dt); //Fermer la connexion co n. Close(); return dt, Compiler la solution : pour se rassurer qu’il n’y a aucune erreur. d) Couche Métier – Création de la classe métier «Agent» ommé «GestPerMetier». OF 13 Ajouter les clauses using dans le fichier de la classe:(Permet d’utiliser les classes sans les préfixer par leurs espaces de nom. ) using GestPerDataAccess; using System. Data; – Rajouter le mot clé public devant la définition de la classe. public class Agent À l’intérieur de la classe saisir la méthode suivante : public static DataTable SelectAll(string nom) dbAgent unsce new dbAgent(); DataTabIe dt = unsce. SeIectA l(nom); return dt; Voici le résultat obtenu : using System; using System. Data,’ namespace GestPerMetier dbAgent unsce = new dbAgent(); DataTable dt = unsce.
SelectAll(nom); PAGF OF Nouvel Agent Propriétés : Name=mnuNouvelAgent Nous obtenons le résultat suivant . Ajouter le formulaire de liste Cliquer Droit sur le projet «GestPerlnterface», puis « Ajouter» + «Formulaire». Saisir 15 «FrmListeAgent», puis «Ajouter». Définir la propriété «Text» du formulaire à «Liste des Agents». Cl Sur le formulaire «FrmListeAgent» ajouter les contrôles suivants : Type Propriété Name Commentaires ListView IwvAgents Propriété Viet. FDetaiIs Propriété FullRowSelect=True propriété HideSelection-False Créer les colonnes Matricule, Nom, et Date Label