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 :

Conditionnelle dans le code


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 22
    Par défaut Conditionnelle dans le code
    Bonjour je voulais savoir quand dans la base j'ai une table couleur de cheveau et que dans le code je trier que les cheveux noir,
    comment coder ca proporement sans mettre en dure dans le code des donné qui provienne de la base de donnée.
    Merci de votre aide a bientôt.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Par défaut
    bonjour,

    je n'ai rien compris peux tu ré-expliquer stp

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 22
    Par défaut
    Alors, je vais prendre un exemple mais ce que je demande est une solution très global et très réutilisable.

    J'ai dans une base de donnée une table "etat", qui contient aujourd'hui trois valeur, "en cours", "en attente"... etc
    je voudrai effectuer un traitement diffèrent selon l'état de mon objet form,
    si il est en cours alors je fait ca, si il est en attente alors je ne fait rien etc..

    Le problème est que je refuse d'utiliser l'id (idéalement) pour faire mon switsh, alors je peu faire un enum qui reprend les id de la base (de la table "etat"), mais ce n'est pas très propre non plus parce que le jour ou la base change (delete or update), mon code serra faux.

    Donc je sais pas du tous comment faire quelque chose de propre qui ne soit pas du scripting tous bête:

    switch(etat)
    case 1
    case 2

    NON c'est Moche !

    Merci de votre aide cordialement, je connai pas mal de design pattern et tous mais la je coince, je reste dans du moche, parce qu'au final j'appel ca du code static, ce qui m'enerve le plus dans la prog web !

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Déjà on ne comprend pas ce que vient faire le "scripting" dans un programme C#.

    Par ailleurs, on ne connait pas la structure des tables.

    Bref, si il y en a qui ont envie de jouer aux devinettes ....

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 22
    Par défaut
    Code static == variable constant == script

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par lneoncyberl Voir le message
    Code static == variable constant == script

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Comme tu dis LuteceFalco, comme tu dis.

    Bon, si il y a un amateur de devinettes qui veut lui répondre, libre à lui.

    Pour ma part, je ne vois aucune raison de perdre du temps.

  8. #8
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut
    Je pense avoir compris ... Dis moi si je trompe, mais en gros, il a une table avec des états. En gros avec un id et un libellé par exemple
    0 --- en cours
    1 -- en attente

    etc etc

    et c'est comme s'il voulait créer un type "enum" de manière dynamique à partir directement à partir de sa base... mais bon pour moi t'as pas le choix... si ton référentiel change, il va bien falloir que ton change tes conditions. Deja si tu passes par un enum au lieu de faire un test de l'id, ca t'évitera de te demander ce que l'id signifie d'une part et, d'autre part, si jms tu utilises autre part tes états, tu changeras juste ton enum et pas dans toutes tes pages utilisant le status...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 22
    Par défaut
    @trihanhcie

    oui tu a trouvé ma devinette, je pensais (en plus ne trouvant pas les mots) que d'expliquer le problème aiderai à le comprendre...

    Un Enum dynamique voila ce qui me manque, après en repensant la logique au cas par cas, avec des proxy model ( j'y connai rien)
    Mais bon ça doit pas être une mince affaire et si il existait une solution rapide j'aurai aimer la connaitre.
    Il faut que les référentiel de référentiel (pointeur manager par d'autre pointeur, pour les C addicts) soit dans la base de donné, et met un throw quand tu essaille d'y acceder en delete ou update... (un truc dans le genre),
    par ce que quand ta beaucoup de case, sur plein de table ca devient vite relou, même avec des types enum.

  10. #10
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut
    Qd je me suis relu, je me suis pas compris
    Je ne sais pas ce que ca donne EntityFramework mais est il possible, au moment où tu génères ta DAL, de "spécifier" que tu veux générer un type enum?

    http://cticoder.wordpress.com/2008/0...ity-framework/

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 22
    Par défaut
    En gros faut avoir une classe enum la mappé dans la base et pas l'inverse, après t'utilise cette enum dans d'autre table pour eviter de melanger logique et donnée métier. Merci . Si qqu peu confirmer ?

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

Discussions similaires

  1. [C#] Control user dans le code caché
    Par pc152 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 07/05/2004, 06h36
  2. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 18h35
  3. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09
  4. Modifier un événement dans le code
    Par HT dans le forum Langage
    Réponses: 6
    Dernier message: 20/06/2003, 09h46
  5. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 10h17

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