CHARGER DANS LISTVIEW IMAGE CONVERTIE EN BYTES

Pinacle13 Messages postés 1 Date d'inscription vendredi 13 mars 2020 Statut Membre Dernière intervention 13 mars 2020 - Modifié le 13 mars 2020 à 19:32
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 14 mars 2020 à 09:43
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

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
14 mars 2020 à 09:43
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 </>
0
Rejoignez-nous