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 :

1 nom de variable pour 2 objets différents


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 69
    Points : 43
    Points
    43
    Par défaut 1 nom de variable pour 2 objets différents
    Bonjour à tous,

    Je vous explique mon petit souci, dont la réponse doit être surement très conne lol !!

    Alors je développe une application qui peut faire appel à une bdd SQL server ou Oracle.

    Donc en fait:
    --> pour les ExecuteSelect, ExecuteScalar, je n'éprouve pas de souci.


    Par contre, pour le ExecuteReader, j'ai un gros souci.

    Je duplique mon traitement en fonction du type de base de données.

    Et j'aimerais avoir un seul traitement ...
    Donc une seule variable ...

    Donc définir si celle-ci est de type OracleDataReader ou SQLDataReader...

    Donc j'ai crée une fonction qui me retourne un objet en fonction, mais je bloque sur le fait de définir un seul nom de variable.

    Car quand je fais mon if, ma variable étant bien sur pas déclaré à l'extérieur, bah quand j'arrive au traitement, il ne connait pas la variable (sorti du if).

    Comment faire pour avoir un code homogene (donc pas de duplication) et pouvoir déterminer si c'est du OracleDataReader / SqlDataReader, et le déclaré en fonction.

    Merciiiiii

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Tu peux déclarer une variable sans type ou de type object dans laquelle tu vas recevoir ton OracleDataReader / SqlDataReader, et après tu détermines s'il s'agit d'un OracleDataReader ou SqlDataReader avec le nom ou le type, un truc du genre

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

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par Jayjay84 Voir le message
    Comment faire pour avoir un code homogene (donc pas de duplication) et pouvoir déterminer si c'est du OracleDataReader / SqlDataReader, et le déclaré en fonction.

    Merciiiiii
    Ne pas utiliser les objets DataReader directement, mais les interfaces qu'ils implémentent (IDataReader est implémentée par tous les DataReader quel que soit la base cible).

  4. #4
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 69
    Points : 43
    Points
    43
    Par défaut
    Ohhh tu es mon dieu !

    ça marche, c'est génial ... et dire que j'ai perdu 2h de ma matinée pour ce truc !

    Je dormirais moins con

    Yeahhh Merci

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

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par asmduty Voir le message
    Tu peux déclarer une variable sans type ou de type object dans laquelle tu vas recevoir ton OracleDataReader / SqlDataReader, et après tu détermines s'il s'agit d'un OracleDataReader ou SqlDataReader avec le nom ou le type, un truc du genre
    Très laid .....

    Et accessoirement une "variable sans type" en .Net ça n'existe pas.

    Il y a bien la déclaration var mais cela signifie seulement que le typage s'effectue à la compilation.

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

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par Jayjay84 Voir le message
    Ohhh tu es mon dieu !

    ça marche, c'est génial ... et dire que j'ai perdu 2h de ma matinée pour ce truc !

    Je dormirais moins con

    Yeahhh Merci
    Un autre point à ce sujet : cet usage des interfaces ets valable sur l'ensemble des classes de ADO.NET

    Sauf cas de fonctionnalités spécifiques à une base, tu peux n'utiliser que des interfaces pour les connexions, les commandes, les readers, les transactions, etc ... dans l'ensemble de ton code.

  7. #7
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 69
    Points : 43
    Points
    43
    Par défaut
    Ok!

    Mon code appelle une classe qui gère toutes les fonctions de connexion, exécution de commande, les statuts de la connexion etc etc ...

    Mon seul gros souci est que je trouvais pas comment différencier mes datareader pour un même nom de variable...

    ça marche impec ce que tu m'as filé.

    Merci.

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

Discussions similaires

  1. utiliser un nom de variable pour un plot
    Par anthony78340 dans le forum MATLAB
    Réponses: 9
    Dernier message: 11/06/2014, 14h41
  2. plusieurs nom de variable pour un toggle ?
    Par delta07 dans le forum jQuery
    Réponses: 5
    Dernier message: 15/12/2010, 16h34
  3. [XL-2003] Variable pour un Objet?
    Par jojo86 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/09/2009, 16h42
  4. utilisation nom de variable pour le nom d'une commandbars
    Par modus57 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/09/2008, 18h11
  5. nom des variables pour se faciliter la vie
    Par Slumpy dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/03/2007, 10h31

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