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 :

[2.0] Source BDD en BIT = 1, (object)true, comparaison = false.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut [2.0] Source BDD en BIT = 1, (object)true, comparaison = false.
    Salut

    Question concernant une comparaison.

    J'ai une base de données SQL Server, avec une colonne PAYS_DEPLOYE de type BIT, Nullable

    Du côté du code, je veux, si PAYS_DEPLOYE est inexistant, NULL ou 0, alors boolData = false, true si PAYS_DEPLOYE = 1

    J'ai fais le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //...
    bool boolData = false;
     
    string SQL = "SELECT PAYS_DEPLOYE FROM REF_PAYS WHERE PAYS_ID = @paysId"
    SqlCommand command = new SqlCommand(SQL, connexion);
    command.Parameters.AddWithValue("@paysId", paysId);
     
    SqlDataReader reader = command.ExecuteReader();
     
    if (reader.Read())
        boolData = (reader["PAYS_DEPLOYE"] == (object)true);
     
    reader.Close();
    //...
    J'ajoute 2 espions : un sur reader["PAYS_DEPLOYE"] et un sur (object)true
    J'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    reader["PAYS_DEPLOYE"] | true | object {bool}
    (object)true           | true | object {bool}
    Ma question est : pourquoi (reader["PAYS_DEPLOYE"] == (object)true) = false ? la comparaison se fait par référence ? (ça me rapelle le LISP où (eq 1 1) est nil (càd false), mais (LEQ 1 1) est t (càd true))

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 27
    Par défaut
    Bonjour,

    Et en parsant ainsi, cela fonctionnerai-il ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolData = (reader["PAYS_DEPLOYE"] == null) ? false : bool.Parse(reader["PAYS_DEPLOYE"]);
    Bonne journée

  3. #3
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut
    j'ai une solution c'est pas le problème, ma question c'est pourquoi (reader["PAYS_DEPLOYE"] == (object)true) me renvoit false ?

    (j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (reader.Read() && reader["PAYS_DEPLOYE"] != DBNull.Value)
        boolData = Convert.ToBoolean(reader["PAYS_DEPLOYE"]);

Discussions similaires

  1. [2.1.1] Définir la source bdd à la génération
    Par mediateur59 dans le forum BIRT
    Réponses: 16
    Dernier message: 19/12/2007, 19h03
  2. [Source] Trieur de Doublons, BDD Access / Excel
    Par mortalino dans le forum Vos contributions VB6
    Réponses: 5
    Dernier message: 23/03/2007, 16h37
  3. [object] unique source de ma page.
    Par yvancoyaud dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/12/2006, 22h15
  4. Convertir Source C 32--> 64 bits
    Par da_mind_stroka dans le forum Visual C++
    Réponses: 1
    Dernier message: 06/11/2006, 10h48
  5. Réponses: 1
    Dernier message: 24/10/2006, 12h10

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