Maison >développement back-end >C++ >Comment gérer les valeurs nulles lors de l'attribution à un SqlParameter en C# ?

Comment gérer les valeurs nulles lors de l'attribution à un SqlParameter en C# ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-10 22:52:46822parcourir

How to Handle Null Values When Assigning to a SqlParameter in C#?

Attribution d'une valeur nulle à SqlParameter en C#

Le code fourni a rencontré une erreur : "Impossible de convertir implicitement de DBNull en int." Cette erreur provient d'un opérateur conditionnel qui tente d'attribuer une valeur int ou une valeur de type DBNull à la propriété Value d'un SqlParameter. Malheureusement, ces types de données sont incompatibles et l'opérateur ne peut pas déterminer le type de retour approprié.

La solution de contournement consiste à convertir la valeur AgeItem.AgeIndex en type d'objet ou à utiliser l'opérateur de fusion nul (??). La conversion de AgeItem.AgeIndex en objet de type garantit qu'il peut être affecté à la propriété Value (la propriété Value nécessite un objet). Alternativement, une approche plus propre peut être obtenue en utilisant l'opérateur ?? :

<code class="language-csharp">SqlParameter[] parameters = new SqlParameter[1];
SqlParameter planIndexParameter = new SqlParameter("@AgeIndex", SqlDbType.Int);
planIndexParameter.Value = (object)AgeItem.AgeIndex ?? DBNull.Value;
parameters[0] = planIndexParameter;</code>

Dans ce cas, ?? évalue AgeItem.AgeIndex et, s'il est nul, attribue la valeur du paramètre à DBNull.Value. En utilisant la conversion de type ou l'opérateur de fusion nul, nous pouvons résoudre l'erreur ci-dessus et attribuer la valeur requise à la propriété Value de SqlParameter.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn