6
votes

Conversion entre SQL Char et C #

Si je veux insérer dans une colonne de base de données de type CHAR (2) de C #. Quel type de données serais-je utiliser dans c #?

Si vous utilisez le code suivant: xxx

Quel type serait-je donné à paramètrevalue?

I Ayez une méthode comme celle-ci lorsque le paramètre est de type chaîne, cela pourrait donc être un problème lorsque vous indiquez la différence entre SQLDBType.char et SQLDBType.VarchaRar


0 commentaires

3 Réponses :


4
votes

chaîne fonctionnera bien s'il s'agit de 2 caractères ou plus court


2 commentaires

Donc, il suffit de faire une longueur de contrôle sur la chaîne?


Je pense que SQL lancera une exception dans le sens des "chaînes ou des données binaires serait tronquée" plutôt que de tronquer automatiquement. Dépend de la configuration que je suppose



9
votes

char , varchar , nchar , nvarchar est en réalité des chaînes

la taille < / code> aide à déterminer combien de temps la chaîne est ...

à la manière

Char a une longueur fixe , donc si vous voulez avoir "1" dans un char (2) le contenu sera réel "1" < p> varchar (2) sera "1"

the n est donc de sorte que tout se trouve pour unicode. Les champs seront dans Unicode.


normalement nous utilisons nvarchar pour enregistrer un espace sur les données, comme si vous avez un CHAR (250) La base de données enregistrera toujours la longueur totale, comme un Varcharchar (250) vide (250) ne sera rien.

Dans notre langage de programmation, nous utilisons ensuite le rembourrage Pour faire ce que char fait, par exemple, en C # xxx

sortira "1" et " 1 " respectivement.


0 commentaires

1
votes

Essayez d'utiliser Méthode AddWithValue et parcez-le sous forme de chaîne,

Ce n'est qu'une seule ligne. Pas besoin d'avoir une méthode séparée. xxx


1 commentaires

Merci beaucoup, cela a raccourci mon code légèrement. Bien que j'ai hérité de cette méthode.