ADO.
Net UE : Programmation Système
X2_NET_WS2
Workshop2
P r é s e n t a t i o n d u c o n t e x t e
Ce workshop se concentre uniquement sur la mise en pratique des objectifs du prosit 2.
Après avoir réalisé ce workshop, vous serez en mesure de :
Objectif
• Coder une application en couche 3/3 (logique) et en niveau 2/3 (physique).
• Manipuler les données d’une table d’une base de données (Select – Insert – Udpate
– Delete).
Temps de
4H00
réalisation
PC
Internet
Matériel
Visual Studio
SQL Server ou Ms Access
Ressources Moodle
ADO. Net – WS2 1/5
ADO. Net UE : Programmation Système
X2_NET_WS2
Workshop2
QUESTIONS
Spécifications fonctionnelles
Vous devez prendre connaissance des consignes dispensées dans le fichier vidéo attaché à
ce Workshop. Votre interface graphique devra permettre à l’utilisateur, d’afficher, modifier,
supprimer, insérer, les données dans une base de données.
Spécifications techniques
Préparations
• Attachez le fichier base de données à votre serveur SQL Server. Si vous utilisez MS
Access, vous devez créer la base de données.
• Créez une solution « eXia_sln_WS2 ».
• Votre solution sera composée de trois couches :
o Une couche data : la base de données. Dans Visual Studio créer le projet «
CAD » de type bibliothèque de classe.
o Une couche middleware. Dans Visual Studio créer le projet « Middleware »
de type bibliothèque de classe. Cette couche comportera
La classe de mappage
Le gestionnaire de processus
o Une couche client (IHM w32)(voir maquette dans le fichier vidéo). Dans
Visual Studio créer le projet « Client » de type Windows Forms.
Le composant d’accès aux données
ADO. Net – WS2 2/5
ADO. Net UE : Programmation Système
X2_NET_WS2
Workshop2
Il doit c omporter en private les objets nécessaires à la manipulation des données à
savoir o String cnx : la chaine de connexion à la base de données.
o String rq_sql : le variable qui contiendra toutes les instructions SQL.
o SqlDataAdapter (pour SQL Server) : le lien logique entre le niveau applicatif
et la base de données.
o SqlConnection : L’objet encapsulant les informations de connexion à la base
de données.
o SqlCommand : L’objet encapsulant les informations nécessaires à l’exécution
de la commande SQL.
o DataSet : le cache qui contiendra les données manipulables par l’interface
graphique en mode déconnecté.
Il doit contenir un constructeur par défaut qui initialisera les privates.
Il doit contenir une méthode public void actionRows(string rq_sql). Cette méthode
exécutera les requêtes actions SQL (insert – update – delete).
Il doit contenir une méthode public DataSet getRows(string rq_sql, string
dataTableName). Cette méthode se chargera d’exécuter les requêtes de type
récupération de données.
Le middleware – La classe de mappage CLmapTB_A2_WS2
• Elle doit comporter les privates suivants :
o String rq_sql o Int id o String nom
o String prenom
• Elle doit comporter la méthode string selectAll() qui renverra une chaine de
caractères. Cette chaine sera la requête SQL pour sélectionner tous les
enregistrements de la table.
• Elle doit comporter la méthode string selectByName()qui renverra une chaine de
caractères. Cette chaine sera la requête SQL pour sélectionner tous les
enregistrements de la table répondant au critère nom = param.
• Elle doit comporter la méthode string delete()qui renverra une chaine de caractères.
Cette chaine sera la requête SQL pour supprimer tous les enregistrements de la table
répondant au critère id = param.
ADO. Net – WS2 3/5
ADO. Net UE : Programmation Système
X2_NET_WS2
Workshop2
• Elle doit comporter la méthode string insert()qui renverra une chaine de caractères.
Cette chaine sera la requête SQL pour ajouter un enregistrement.
• Elle doit comporter la méthode string update()qui renverra une chaine de
caractères. Cette chaine sera la requête SQL pour mettre à jour un enregistrement.
• Elle doit comporter les accesseurs pou id, nom, prénom.
Le middleware – La classe de mappage CLprocessus
Cette classe sera la seule interlocutrice du client w32. Elle doit orchestrer l’exécution du
processus via la convergence des travaux des différents composants. Elle doit comporter :
• Les privates
o Dataset oDs o
CLmapTB_A2_WS2 oMap o
CLcad oCad o String rq_sql
• Un constructeur. Il se chargera d’initialiser les privates.
• Une méthode DataSet afficher(string dataTableName). Elle doit clear les Tables du
DataSet en cours. Elle doit appeler la méthode selectAll de l’objet oMap. Elle doit
appeler la méthode getRows de l’objet oCad. Elle doit return oDs.
• Une méthode DataSet rechercherNom(string dataTableName, string nom). Elle doit
clear les Tables du DataSet en cours .Elle doit appeler la méthode selectByName de
l’objet oMap. Elle doit appeler la méthode getRows de l’objet oCad. Elle doit return
oDs.
• Une méthode void deleteById(). Elle doit appeler la méthode setId avec le
paramètre Id de l’objet.
• Une méthode void insert_update(int id, string nom, string prenom, char methode).
Elle doit clear les Tables du DataSet en cours. Elle doit appeler la méthode setId de
l’objet oMap avec le paramètre ID. Elle doit appeler la méthode setNom de l’objet
oMap avec le paramètre nom. Elle doit appeler la méthode setPrenom de l’objet
ADO. Net – WS2 4/5
ADO. Net UE : Programmation Système
X2_NET_WS2
Workshop2
oMap avec le paramètre prenom. Si l’argument méthode est égal à ‘i’ (insertion)
alors elle doit appeler la méthode insert de l’objet oMap. Sinon ‘u’ (mise à jour),
elle doit appeler la méthode update de l’objet oMap. Pour finir, elle doit appeler la
méthode actionRows de l’objet oCad avec le paramètre rq_sql.
ADO. Net – WS2 5/5