Opérande type de conflit: nvarchar est incompatible avec l'image
Je suis en utilisant un Serveur SQL server 2008 procédure stockée pour créer un nouvel enregistrement avec
cette syntaxe:
cmd.Parameters.Add("@photo", DBNull.Value)
cmd.ExecuteNonQuery()
mais le résultat est un:
Operand type clash: nvarchar is incompatible with image
Photo n'est pas le seul paramètre mais c'est la seule image, je ne suis pas de passage
un nvarchar mais une valeur null, suis-je raté quelque chose?
OriginalL'auteur ferer | 2010-03-10
Vous devez vous connecter pour publier un commentaire.
Si vous passez dans
DBNull.Value
comme la valeur, ADO.NET ne pouvez pas comprendre à quel type que le paramètre doit être. Si vous spécifiez une chaîne ou un entier de valeur, le type du paramètre SQL peut être dérivée à partir de la valeur fournie - mais ce type deDBNull.Value
être transformé en??Lors du passage à une valeur NULL, vous devez spécifier que
SqlDbType
vous-même, de manière explicite:Qui devrait, je l'espère!
Mise à jour: même chose en C# serait:
Il y a un grand, libre, très utile VB.NET-C# converter là - l'utiliser!
n'a pas fonctionné. Erreur de conversion de type varchar numérique.
c# pourrait aussi être écrit en 1 ligne:
cmd.Parameters.Add(new SqlParameter("photo", SqlDbType.Image) { Value = DBNull.Value });
OriginalL'auteur marc_s
n'a pas fonctionné. Erreur de conversion de type varchar numérique.
OriginalL'auteur revean