J'ai besoin d'obtenir un peu d'un serveur SQL dans C #. J'ai essayé différentes solutions comme: mais ne trouve aucun moyen d'obtenir le bit.
Quelqu'un peut-il donner un exemple? P> p>
5 Réponses :
Utilisez le getqlboolean Méthode.
MISE À JOUR B> P>
Assurez-vous de lancer votre valeur de retour en tant que Boolean IE P>
var active = (bool)rdr.GetSqlBoolean(5);
Si vous allez en savoir plus, veuillez préciser pourquoi? N'a aucun sens de descendre une réponse sans donner une raison ...
SQLBOOLAN CODE> est efficacement juste une enveloppe autour d'un booléen pour permettre la nullabilité, etc. Donc, si vous allez appeler getqlboolcan code> puis lancer immédiatement le résultat à bool < / Code> Vous pourriez aussi bien appeler rdr.getboolcan code> en premier lieu.
Utilisez GetFieldType pour déterminer ce type de données à utiliser. P>
Je suis arrivé à la solution suivante en utilisant:
bool active = (bool)rdr.GetSqlBoolean(rdr.GetOrdinal("Active"));
Vous ne devriez pas avoir besoin d'utiliser Getordintin, le getqlboolant devrait suffire. Ils ont tous les deux le même type de retour ...
Vous ne pouvez pas uplifier sur Stackoverflow jusqu'à ce que vous ayez ... 15? Points de réputation, que vous gagnez en vous remettez vous-même, des réponses sélectionnées et des badges. Je pense que vous devriez être capable de marquer une réponse particulière comme réponse choisie.
SQLBOOLAN CODE> est efficacement juste une enveloppe autour d'un booléen pour permettre la nullabilité, etc. Donc, si vous allez appeler getqlboolcan code> puis lancer immédiatement le résultat à bool < / Code> Vous pourriez aussi bien appeler rdr.getboolcan code> en premier lieu.
Si vous êtes certain que les valeurs de colonne ne seront jamais s'il est possible que NULL code>, alors ce qui suit sera le truc: null Les valeurs code> peuvent être renvoyées: p>
Il y a une méthode publique d'obtention de SQLboolant Struct: Istrue. Donc, vous pouvez l'utiliser de cette façon, pour être sûr que le résultat est booléen:
Sur une note latérale, vous pouvez rendre votre code un peu plus lisible / maintenu en utilisant getOrdininal () par exemple: rdr.getsqlboolean (rdr.getordininal ("mybitcolumn"))
J'ai aussi essayé: bool actif = rdr.getsqlbooleren (12); Je reçois le résultat: impossible de convertir SQLboolcan à Bool
Bonjour, il vous manque un casting, s'il vous plaît voir ma réponse ci-dessous.