IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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.