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

ASP.NET Discussion :

[C# 1.1] - Connection à la BD dans ItemDataboud


Sujet :

ASP.NET

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Erakis
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 523
    Par défaut [C# 1.1] - Connection à la BD dans ItemDataboud
    Bonjour à tous,

    J'ai développé un application qui nécessite un journal multilangue. Pour commencer je vous invide donc à regarder le shéma relationnel de ma base de données Relation.jpg.

    Le principe est assez simple, j'ai une table (Etiquette) qui possède la liste de toutes les étiquettes possible du système et ce dans toutes les langues. Regarder l'image Étiquette.jpg à titre de référence

    La colonne CultureID spécifie la culture (fr-CA, en-CA, fr-FR, etc...) La colonne ID c'est la CLÉ identifiant l'étiquette dans le système. La dernière colonne c'est la valeur de l'étiquette pour la culture spécifiée. La valeur de l'étiquette peut contenir des paramètres variables comme {0} ou {1}, etc... Ceuxi-ci seront remplacé plus tard. Tout dépendement de la culture de l'utilisateur consultant le journal.

    Maintenant regardons ce que ma table de journal contient Jounal.jpg. Prenons l'entrée #3, il y a une entrée en date du 15-11-2006 à 22h05 avec l'étiquette "USER_REMOVE_ROLE_TO_A_USER". Dans la table enfant (JournalParam il y a 3 entrées qui identifient les paramètres nécessaire à la construction d'une description d'entrée du journal.

    Si je suis un utilisateur avec le ID #1 et que je désire consulter le journal entre une date précise, je lancerais la requête suivante : RequeteJournal.jpg Ce qui produirait ceci comme résultat :RequeteJournalResultat.jpg

    Bref je récupère ce résultat dans un Dataset et par la suite je relance une requête pour chaque entrées à savoir s'il y a des paramètres y étant associé.
    Comme par exmple, la requête de la première entrée donnerait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ID	Type	Valeur
    4	User	2
    5	Role	2
    6	User	3
    À partir de là, je vérifie le type de la valeur, si c'est "User" alors je vais lire l'utilisateur dans la base de donnés et je remplace le {0} par son nom. Si c'est un role alors je vais voir dans la base de données, je récupère le bon rôle attaché à la culture désirés et je remplace le paramètre. Si c'est un type "String" je remplace simplement par ce qui est dans la colonne valeur. Alors voilà tout ceci fonctionne bien, c'est un journal TOUT À FAIT multilangue et très intéressant.

    Mais il a 2 gros défaut, il n'est pas vraiment RELATIONNEL et en ce qui à trait aux paramètres. De plus le questionnement des tables pour chaque paramètre est un processus très gourmant.

    Par la suite je me suis dit que je pourrait simplement récupérer en une requête et seulement questionner la base de données dans le ItemDataBound de mon datagrid mais hélas, si j'ai 2000 items et 50 items par pages, cela fait 50 connections à la BD à chaque chargement de page. Par conséquent, il serait possible d'ouvrir une connection à la BD lors du OnLoad de la page mais quand la FERMER ? Il n'y a pas de OnEndDataBound.

    Vous avez une autre idée pour gérer un journal multilange ?
    Merci à tous
    Images attachées Images attachées      

Discussions similaires

  1. Paramétrer connection JBOSS sqlserver dans code java
    Par g25452 dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 19/03/2009, 11h31
  2. Récuperer la listes des connectés à une BDD dans une requête
    Par docjo dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 09/09/2008, 19h23
  3. comment puis je connecté un MAC dans un LAN de PC
    Par devlopassion dans le forum Apple
    Réponses: 3
    Dernier message: 15/06/2008, 13h04
  4. [PDO] se connecter à plusieurs bases dans la meme page
    Par mickael.guilbert dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/01/2008, 18h07
  5. [MySQL] Connections à plusieurs serveurs dans une seule page php
    Par Pgs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/06/2006, 16h59

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