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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 .NET Discussion :

Créer une couche d'accès aux données


Sujet :

.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 43
    Points : 38
    Points
    38
    Par défaut Créer une couche d'accès aux données
    Bonjour,

    Sur les conseils de mon profs d'info, je voudrais créer une couche d'accès aux données provenant de SqLite.
    Pour se faire, je souhaite que dans ma solution j'ai :
    - Un projet de gestion de produits.
    - un projet d'accès aux données.

    J'ai donc commencé par créer un projet d'accès aux données. Pour se faire j'ai tout simplement fait "Fichier -> Nouveau -> Projet Windows Form".

    Après, je l'ajoute dans la solution qui contient le projet de gestion de produits, et je n'oubli pas d'ajouter les références.
    Et c'est ici que je suis perdu. Comment exploiter les class du projet d'accès aux données depuis le projet de gestion de produits ?
    Et est-ce qu'il faut bien créer un projet windows form ?


    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Bonjour,

    Il y a je pense une erreur. Pour ta couche d'accès aux données tu as créé un projet Windows donc capable d'afficher une UI, il "faut" que ton projet soit de type bibliothèque de références.

    Ensuite tes classes de ton projet "Accès aux données" sont-elles visibles dans l'autre projet ? Si non, vérifie qu'elles soient public ... A part ça ces classes s'utilisent comme n'importent quelles autres classes.

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Points : 15
    Points
    15
    Par défaut Class Library
    Vu que dans la couche d’accès aux données tu n'auras pas besoins de fenêtres, il est plus adapté de créer le projet d’accès aux données comme une class library.

    Une fois t'auras terminer d'écrire cette dernière couche tu n'auras qu'à référencer ton projet.

    Rq : les classes en VS sont par défaut privées alors faudra ajouter le mot clé public, selon tes besoins.

  4. #4
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 43
    Points : 38
    Points
    38
    Par défaut
    Merci à vous deux
    En effet, je n'utilise pas d'affichage, merci du conseil

    J'avais oublié de préciser la directive, ça fonctionne impect maintenant


    Par contre, j'avais déjà codé une class d'accès aux données. Dans celle-ci, en cas d'échec de connexion, j'affichais un MessageBox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    try
    {
           //Connexion
    }
     
    //Une erreur s'est produite
    catch (Exception Ex)
    {
             //Affichage d'une eventuel erreur
             //MessageBox.Show("Impossible de ce connecter à la base de données. Erreur :\n " + Ex + "\n");
    }

    utilisant un projet "bibliothèque de références", comment puis-je procédais ?
    Retourner l'erreur et l'afficher depuis le projet "gestion de produits" ?


    merci

  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 159
    Points : 486
    Points
    486
    Par défaut
    Exactement, tu vas juste propager ton exception vers ta couche de présentation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    try
    {
           //Connexion
    }
     
    //Une erreur s'est produite
    catch ()
    {
             throw;
    }

  6. #6
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 43
    Points : 38
    Points
    38
    Par défaut
    Merci
    Je vais essayé

  7. #7
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Salut, je te conseille vivement la lecture de l'excellent article de Thomas Lebrun : Introduction au développement en couches.
    C'est appliqué à la technologie .Net et Visual Studio, cela te donnera des explications claires sur le développement en couches.

  8. #8
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Citation Envoyé par Ludo.G Voir le message
    Exactement, tu vas juste propager ton exception vers ta couche de présentation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    try
    {
           //Connexion
    }
     
    //Une erreur s'est produite
    catch ()
    {
             throw;
    }
    Il faut juste ne pas oublier de fermer la connexion, de faire le rollback si nécessaire... !

  9. #9
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 43
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par Skalp Voir le message
    Salut, je te conseille vivement la lecture de l'excellent article de Thomas Lebrun : Introduction au développement en couches.
    C'est appliqué à la technologie .Net et Visual Studio, cela te donnera des explications claires sur le développement en couches.
    Bien vue merci
    D'autant plus que je vais essayé de faire ça de manière assez propre ( avec des interfaces )

    Citation Envoyé par ostenhard Voir le message
    Il faut juste ne pas oublier de fermer la connexion, de faire le rollback si nécessaire... !
    Oui, c'est prévue dans le try ça.

  10. #10
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Citation:
    Envoyé par ostenhard Voir le message
    Il faut juste ne pas oublier de fermer la connexion, de faire le rollback si nécessaire... !
    Oui, c'est prévue dans le try ça.
    J'aurai plutôt mis ça dans le finally pour être sûr que la connexion soit fermée en cas d'erreur.

  11. #11
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 43
    Points : 38
    Points
    38
    Par défaut


    Je ne connaissais pas le finaly
    Merci pour l'info

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. séparation vue et couche d'accès aux données
    Par papaetoo dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 15/06/2009, 10h33
  2. Comment tester une couche d'accès aux données
    Par ygrim dans le forum Persistance des données
    Réponses: 3
    Dernier message: 26/02/2008, 17h30
  3. Réponses: 7
    Dernier message: 15/02/2008, 20h01
  4. Réponses: 5
    Dernier message: 24/05/2006, 23h53
  5. Réponses: 13
    Dernier message: 23/02/2006, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo