Erreur de connexion MYSQL via dotnet

la programmation


J’obtiens cette erreur L’objet ne peut pas être converti de DBNull vers d’autres types. lors de l’ouverture de la connexion dans asp.net

Ce que j’ai essayé :

J’ai essayé de changer le pilote réseau de MYSQL Connector NET 8.0 vers MYSQL Connector NET 8.2.0, mais cela n’a pas fonctionné. Plus tôt, je travaillais bien, et maintenant, l’erreur revient

Solution 1

DBNull est un type spécial : il représente une “valeur vide” dans la colonne nullable de la base de données. Lorsque vous émettez une requête SELECT sur la base de données, toutes les lignes correspondantes contenant une valeur SQL NULL sont renvoyées en tant qu’instance de Classe DBNull[^]

Bien qu’elle représente une valeur NULL dans la base de données, ce n’est pas la même chose qu’une valeur nulle dans votre langage de codage – vous ne pouvez pas la convertir directement en un autre type.
Je suggère d’écrire une méthode de conversion générique similaire à celle-ci :

C#
public static T ConvertDBValue<T>(object o)
    {
    if (o == null || o == DBNull.Value)
        {
        return default(T);
        }
    else
        {
        return (T)o;
        }
    }

Et appelez cela pour chaque valeur de base de données que vous traitez.

コメント

タイトルとURLをコピーしました