Vous êtes sur la page 1sur 2

Développement d’application Client/Serveur

TP 4 : Exécuter des procédures stockées

Exercice 1

Soit la base de données suivante :

Articles (RefArticle, Désignation, prix, stock)


Ventes (RefArticle, quantité, date_vente)

Au démarrage remplir le combobox avec les références des articles.

Ecrire un programme permettant d’enregistrer une opération de vente en utilisant la


procédure stockée "AjoutVente" et d’afficher la nouvelle quantité en stock de l’article
vendu.

Create proc AjoutVente


@RefArticle nvarchar(12), @Qte int, @date datetime, @stock int OUTPUT
AS
INSERT INTO Ventes(RefArticle, quantité, date_vente) VALUES (@RefArticle,
@Qte, @date)
UPDATE Articles SET stock=stock - @Qte WHERE RefArticle= @RefArticle
SELECT @stock=stock FROM Articles WHERE RefArticle= @RefArticle

Exercice 2

Soit la base de données suivante :


Client(code, nom, adresse)
Pièces(Référence, Désignation, Prix)
Commande(NumCommande, DateCommande, CodeClient)
LigneCommande(NumCommande,Référence,Quantité)

Pour enregistrer une nouvelle commande, on propose l’interface suivante :


Ecrire le code qui permet de remplir le comboBox par les codes de tous les clients

Ecrire le code permettant d’enregistrer une nouvelle commande.

Soit la procédure suivante :


CREATE PROCEDURE CommandesParClient
@code nchar(10), @année int, @total money output
AS
BEGIN

SELECT @total = SUM(Quantité *Prix)


FROM Commande INNER JOIN LigneCommande ON
Commande.NumCommande = LigneCommande.NumCommande INNER JOIN
Pièces ON LigneCommande.Référence = Pièces.Référence
WHERE (CodeClient = @code) AND (YEAR(DateCommande) = @année);

SELECT Commande.NumCommande,DateCommande, SUM(Quantité * Prix) AS


Montant
FROM Commande INNER JOIN LigneCommande ON
Commande.NumCommande = LigneCommande.NumCommande INNER JOIN
Pièces ON LigneCommande.Référence = Pièces.Référence WHERE (CodeClient =
@code) AND (YEAR(DateCommande) = @année)
GROUP BY Commande.NumCommande,DateCommande;

END

La procédure permet de renvoyer les commandes d’un client donné pour une année
donnée, ainsi que le total des ses commandes

Ecrire le code qui permet d’afficher pour un client donné, la liste de ses commandes
pour une année donnée, ainsi que le montant total en éxécutant la procédure
stockée. (donner l’interface utilisateur et le code).

Vous aimerez peut-être aussi