Extraire les images de votre bdd access dans un listview

Contenu du snippet

Je voulais extraire les images contenues dans une des colonnes de ma BDD Access dans une ListView mais je n'ai rien trouvé à ce sujet. J'ai donc planché là dessus et pondu un petit code.
Une Form + un splitter container. L'un des containers contient une PictureBox ancrée et l'autre une ListView (LvTest)avec une ImageList.

Source / Exemple :


Dim con As New OleDb.OleDbConnection
       con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" &  My.Application.Info.DirectoryPath & "\Votre BDD.mdb"
        con.Open()
        Dim ds As New DataSet
        Dim da As OleDb.OleDbDataAdapter
        Dim sql As String
        sql = "SELECT * FROM nom de la table"
        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(ds, "test")

        ImageList1.Images.Clear()
        ListView1.Items.Clear()

        Try
            Dim i As Integer
            For i = 0 To ds.Tables("test").Rows.Count - 1
                If ds.Tables("test").Rows(i).Item(le numéro de 
                la colonne) is DBNull.Value Then
                    Dim ImageNull As Image
                    ImageNull = My.Resources.ImageNull 'image que vous avez créé et qui se trouve dans vos fichiers resources
                    Me.ImageList1.Images.Add(ImageNull, Nothing)
                    Dim photo1 As ListViewItem = New ListViewItem("Ce que vous voulez", i)
                    Me.LvTest.Items.Add(photo1)
                Else
                    Dim x As Byte() = ds.Tables("test").Rows(i).Item(le numéro de la colonne)
                    Dim image As Image
                    image = TypeDescriptor.GetConverter(GetType(Image)).ConvertFrom(x)
                    Me.ImageList1.Images.Add(image, Nothing)
                    Dim photo2 As ListViewItem = New ListViewItem("Ce que vous voulez", i)
                    Me.LvPièce.Items.Add(photo2)
                End If
            Next

        Catch ex As Exception
            MsgBox(ex, MsgBoxStyle.Information)
        End Try
con.Close()

Conclusion :


J'ai insérer une image DBNull car sinon vous générez une erreur quand l'une des rows ne contient rien (DbNull.Value retourne 0)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.