CHARGER DANS LISTVIEW IMAGE CONVERTIE EN BYTES

Signaler
Messages postés
1
Date d'inscription
vendredi 13 mars 2020
Statut
Membre
Dernière intervention
13 mars 2020
-
Messages postés
14587
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
9 août 2020
-
Bonjour à tous,

Je stocke dans une base MYSQL des photos en Bytes (j'ai fait ce choix en connaissance de cause le nombre d'entrée étant limité, 300 lignes grand max)


Quand j'essaye de charger les bytes de la photo dans un listview j'ai des erreurs (impossible conversion en string).

L’objectif étant quand on sélectionne une ligne du listview les bytes sont convertis en image dans un picturebox.

Pouvez-vous svp me dire qu'est ce qui cloche dans mon code (chargement données dans listview) ?



 Dim CMD As New MySqlCommand("SELECT * FROM personnel", cnx)
            Using lecteur As MySqlDataReader = CMD.ExecuteReader()
 
                While lecteur.Read()
 
                    Dim NUM_LIGNE As String = lecteur("NUM_lIGNE")
                    Dim CIVILITE As String = lecteur("CIVILITE")
 
                    Dim NOM As String = lecteur("NOM")
 
 
                    Dim BYTE_PHOTO As Byte() = lecteur("PHOTO")
 
 
                    Me.ListView1.Items.Add(New ListViewItem(New String() {NUM_LIGNE, CIVILITE,NOM, BYTE_PHOTO}))
 
                End While
 
            End Using



Merci pour votre aide,

1 réponse

Messages postés
14587
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
9 août 2020
426
Bonjour
New String() {NUM_LIGNE, CIVILITE,NOM, BYTE_PHOTO})

Tu déclares un tableau de string, or un tableau de byte n’est pas une string. C’est exactement ce que te dis ton erreur.

Sur l’aide en ligne https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.listview?view=netframework-4.8

L’exemple ajoute du texte puis une liste d’images.
Je pense donc (je ne fais plus de winform depuis quelques années et la listview m’a toujours parue chiante à utiliser) qu’il faut convertir tes tableaux de byte en image en amont et utiliser cette méthode ou peut-être une surcharge de la méthode Add qui prendrait une image en paramètre.

PS si sur l’aide en ligne les codes exemples ne sont pas en VB.Net, il faut sélectionner le langage tout en haut avec le bouton </>