Bonjour,

Je fais une appli VB > Oracle et j'ai fait une procédure de remplissage d'un combobox avec une requête sql

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Public Sub remplirDGV(ByRef dgv As DataGridView, ByVal strSQL As String)
        Try
            dgv.DataSource = retourneDS(strSQL).Tables("info")
        Catch ex As Exception
            MessageBox.Show("Impossible de remplir la liste. " & ex.Message)
        End Try
    End Sub
Jusque la tout va bien, ca fonctionne et ca me permet de faire des appels du type :

remplirDGV(dgv_MonDatagrid, "select champ1, champ2 from table where pk = maPk")
Maintenant dans une autre de mes table j'ai un champ BLOB qui contient des images et j'aimerai faire le même genre de procédure afin de remplir un picturebox en faisant un appel du type :

remplirPI(pi_MonPictureBox, "select champImage from table where pk = maPk")
J'ai essayé de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
  Public Sub remplirPI(ByRef pi As PictureBox, ByVal strSQL As String)
        Dim ds As DataSet = New DataSet("info")
        Dim oleCom As OracleCommand
        Dim Oleda As New OracleDataAdapter
 
        oleCom = New OracleCommand(strSQL, orclConnexion)
        Oleda.SelectCommand = oleCom
        ds.Clear()
        Oleda.Fill(ds, "info")
        pi.Image = ds.Tables("info").Rows(0).Item("ima_image")
    End Sub
mais j'obtiens l'erreur :

Unable to cast object of type 'System.Byte[]' to type 'System.Drawing.Image'.
Voila si quelqu'un pouvait m'aider ce ce serait sympa