Comment gérer la valeur null en byte[]
J'ai des images binaires dans le Image
colonne de ma table de base de données, mais il y a quelques null
valeurs dans le Image
colonne. Si une exception est lancée,
byte[] data = (byte[])ds.Tables[0].Les lignes[0][0] " en raison de la valeur null.
Comment gérer cela?
Message d'Exception,
Impossible de convertir l'objet de type 'System.DBNull' de type 'System.Byte[]'.
Mon code,
using (var sqlConn = new SqlConnection(connstr))
{
sqlConn.Open();
ds = new DataSet();
SqlDataAdapter sqa = new SqlDataAdapter("Select Image from Templates where Shoe='" + selectedShoe + "'", sqlConn);
sqa.Fill(ds);
//i got error here
byte[] data = (byte[])ds.Tables[0].Rows[0][0];
.....
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour contrôler spécifiquement
DBNull
dans cette colonne avant de tenter le casting:Notez que cela ne fonctionne pas avec le même type d'exception si la colonne en question n'est en fait pas contenir un tableau d'octets.
La manipulation des valeurs null à la requête SQL a fonctionné pour moi. Si votre Image de colonne est null, la fonction ISNULL() retournera votre prochaine valeur 0 dans cet exemple).