6
votes

Obtenir un peu de SQLServer dans C #

J'ai besoin d'obtenir un peu d'un serveur SQL dans C #. J'ai essayé différentes solutions comme: xxx

mais ne trouve aucun moyen d'obtenir le bit. Quelqu'un peut-il donner un exemple?


3 commentaires

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.


5 Réponses :


5
votes

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);


2 commentaires

Si vous allez en savoir plus, veuillez préciser pourquoi? N'a aucun sens de descendre une réponse sans donner une raison ...


SQLBOOLAN est efficacement juste une enveloppe autour d'un booléen pour permettre la nullabilité, etc. Donc, si vous allez appeler getqlboolcan puis lancer immédiatement le résultat à bool < / Code> Vous pourriez aussi bien appeler rdr.getboolcan en premier lieu.



0
votes

Utilisez GetFieldType pour déterminer ce type de données à utiliser.


0 commentaires

0
votes

Je suis arrivé à la solution suivante en utilisant:

bool active = (bool)rdr.GetSqlBoolean(rdr.GetOrdinal("Active"));


3 commentaires

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 est efficacement juste une enveloppe autour d'un booléen pour permettre la nullabilité, etc. Donc, si vous allez appeler getqlboolcan puis lancer immédiatement le résultat à bool < / Code> Vous pourriez aussi bien appeler rdr.getboolcan en premier lieu.



13
votes

Si vous êtes certain que les valeurs de colonne ne seront jamais NULL , alors ce qui suit sera le truc: xxx

s'il est possible que null Les valeurs peuvent être renvoyées: xxx


0 commentaires

0
votes

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: xxx


0 commentaires