Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUM VB FAQs VB TUTORIELS VB OUTILS VB SOURCES VB LIVRES VB

Exemple d'architecture à 3 couches en Visual Basic

Le 17 mars 2003

Par Romain Puyfoulhoux

Sommaire

1. Exemple d'application classique
2. Rôle de chacune des couches
3. Avantages de cette architecture
4. Exemple d'architecture à 3 couches
   4.1 Couche données
   4.2 Couche métier
   4.3 Couche présentation


4.2 Couche métier

Nous allons créer cette couche sous la forme d'une autre dll ActiveX. Tout d'abord le projet Data doit avoir été compilé. Puis sans fermer le projet, cliquez sur le menu Fichier -> Ajouter un projet, et sélectionnez DLL ActiveX. Renommez le nouveau projet en "Rules". La couche métier va utiliser la couche données, donc l'activeX "Data" doit être ajouté dans les références du projet.

La couche données contiendra deux classes. La classe clsServices qui nous fournira les comptes de quelqu'un, ainsi que les opérations d'un compte. Et clsCompte qui nous permettra de lire ou de modifier un compte. Voici le code source de la classe clsServices :

Option Explicit

Function ListeComptes(idProprietaire As Long) As ADODB.Recordset

Dim objData As clsData, sql As String

On Error GoTo fail

sql = "SELECT * FROM tCompte WHERE co_IdProp=" & idProprietaire

Set objData = New clsData
Set ListeComptes = objData.CreeRecordset(sql)
Set objData = Nothing
Exit Function

fail:
Err.Raise Err.Number, Err.Source, Err.Description

End Function

Function ListeOperations(idCompte As Long, dateOperations As Date) As ADODB.Recordset

Dim objData As clsData, sql As String

On Error GoTo fail

sql = "SELECT * FROM tOperation WHERE (op_compteS=" & idCompte & ")"
If IsDate(dateOperations) Then sql = sql & "AND (co_DateCreation=#" & dateOperations & "#)"

Set objData = New clsData
Set ListeOperations = objData.CreeRecordset(sql)
Set objData = Nothing
Exit Function

fail:
Err.Raise Err.Number, Err.Source, Err.Description

End Function

Ces deux méthodes renvoient un recordset déconnecté. A ce niveau on se connecte à la base de données, mais l'on ne sait pas comment. Le type de base de données, son emplacement, la manière de se connecter, le mot de passe s'il y en a un, sont gérés dans la couche des données.

[ Précédent ] [ Suivant ]

Ce document issu de http://www.developpez.com est soumis à la licence GNU FDL traduite en français ici.
Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.
Responsables bénévoles de la rubrique Visual Basic : Thierry Adriaenssens et Philippe Baquer - Contacter par EMail :
Vos questions techniques : forum d'entraide Visual Basic - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.