Affecter la valeur Null à la Colonne de type Integer dans la DataTable
J'ai un datatable avec Un Nomcolonne "CustomerID" avec le Type de données Entier.
Dynamiquement, je veux ajouter des lignes à la DataTable. Pour cela, j'ai créé un objet DataRow comme:
DataTable dt = new DataTable();
DataRow DR = dt.NewRow();
DR["CustomerID"] = Convert.ToInt32(TextBox1.Text);
Mais si la zone de texte contient une chaîne vide, il génère l'erreur. Dans ce cas, je veux affecter la valeur Null à la référence client. Comment faire cela?
- pourquoi ne pas vous le recommander quelque chose au lieu d'utiliser DataTable?
- Oui. Iam à l'aide de DataTable.
Vous devez vous connecter pour publier un commentaire.
Null/chaîne vide est dans le mauvais format, vous auriez besoin de détecter le scénario et compenser:
MyDataTable.Columns.Add("CustomerID", typeof(int))
, devrions-nous avoir queCustomerID
champ être définie comme un type Nullable commeint?
?Mais vous devriez vérifier également que la valeur est un entier valide:
vous pourriez le faire comme ça:
Tout d'abord, bien sûr, le champ doit être défini comme les valeurs null dans la base de données.
Et puis, il
DBNull.Value
Vous devez d'abord vérifier
Vous pouvez utiliser DBNull.
Si vous déclarez une variable de type Entier comme int? il est automatiquement en boîte par le compilateur C# et vous êtes en mesure d'affecter la valeur null à une variable. Par exemple:
J'espère que ça aide
Quand
null
n'est pas autorisé à être inséré dansDR["CustomerID"]
, vous pouvez utiliser(int?)null
place comme ceci: