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

C# Discussion :

Macro code inline ou methode ?


Sujet :

C#

  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Macro code inline ou methode ?
    Bonjour

    Ma question est un peu academique mais peut peut-être ouvrir des piste intéressantes ?

    Voila : La difficulté de base c'est de dialoguer avec une DB MS Sql qui attends des valeurs Nulle !
    A priori Csharp accepte les types nullables et donc il y a moyen de contourner la moité du probleme

    Par contre l'ajout de parametre dans une requete parametrée n'accepte pas directement les Types nullables

    Nous voila donc forcé a contourner un deuxieme probleme en employant par exemple un opérateur ternaire pour passer un DBNull.Value et caster la variable en objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        MyCmd.Parameters.AddWithValue("@Machin",(this.Machin == null) ? DBNull.Value : (object)this.Machin;
    Ca ne facilite pas la lecture ni l'ecriture

    Et je passe donc par une petite methode outil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        MyCmd.Parameters.AddWithValue("@Machin", Tools.ObjectOrNull(this.Machin));
     
     
        // *********************************************************************************
        internal static object ObjectOrNull(decimal? val)
        {
          return (val == null) ? DBNull.Value : (object)val;
        }
    Je ne pense pa que cela va manger beaucoup de ressources suplémentaires mais je me demandais si on pouvait en Csharp mettre ce genre de code en inline ou en Macro comme en C ?

    Ou si quelqu'un a déja rencontré ce problème, comment l'as-t-il contourné ?

    Merci de votre aide

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Tu peux utiliser l'opérateur méconnu ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyCmd.Parameters.AddWithValue("@Machin", Machin ?? DBNull.Value);
    Car
    est équivalent à

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Incroyable !!

    On n'arrete pas d'apprendre merci grand chef !

    C'est bien pratique !
    La petite faiblesse peut etre c'est que le premier quidam qui passe par la va se demander ce que j'ai voulu écrire et risque de m'envoyer au bucher !!

    Non ?

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Tu ajoutes un commentaire, c'est aussi simple que ça. Un développeur ne doit pas coder, il doit aussi commenter. Enfin en théorie, en pratique c'est souvent autre chose malheureusement

  5. #5
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    + 5 / 5

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

Discussions similaires

  1. Une balise [code] inline
    Par prgasp77 dans le forum Evolutions du club
    Réponses: 14
    Dernier message: 21/12/2010, 23h08
  2. [WCF] Injecter du code avant les methodes
    Par anthyme dans le forum Windows Communication Foundation
    Réponses: 8
    Dernier message: 17/08/2008, 23h07
  3. [VBA-E]Supprimer macro (code dans code feuille de calcul)
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/04/2006, 16h37

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