Maison >développement back-end >C++ >Comment résoudre l'erreur « L'objet ne peut pas être converti de DBNull vers d'autres types » en C# ?
Correction de l'erreur « L'objet ne peut pas être converti de DBNull vers un autre type »
Cette erreur se produit généralement lorsque vous essayez de convertir une valeur DBNull en un autre type de données. Dans votre cas spécifique, le problème peut survenir au niveau de la ligne de code suivante dans la méthode Create() :
<code>DataTO.Id = Convert.ToInt64(dataAccCom.GetParameterValue(IDbCmd, "op_Id"));</code>
Cette conversion échouera si le paramètre de sortie "op_Id" renvoie une valeur DBNull. Pour résoudre ce problème, vous devez vérifier la valeur DBNull et la gérer de manière appropriée. Voici la version du code modifiée :
<code>var outputParam = dataAccCom.GetParameterValue(IDbCmd, "op_Id"); if (outputParam is DBNull) DataTO.Id = 0; // 或根据需要分配默认值 else DataTO.Id = Convert.ToInt64(outputParam);</code>
En ajoutant cette vérification, vous vous assurez que la conversion n'est effectuée que si le paramètre de sortie contient une valeur valide. Cela devrait éliminer l’erreur « L’objet ne peut pas être converti de DBNull vers un autre type ».
Notez que cette erreur peut également se produire si un autre paramètre est défini sur DBNull et qu'une conversion est tentée sur ce paramètre. Veuillez examiner attentivement votre code pour identifier toute instance potentielle de ce problème.
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!