Ciao. Ho trovato il codice di quando salvavo sul DataBase Access:
Ti renderai conto che prima di esguire la query chiamo la funzione ImageToStream se nel mio Form la casella picturebox è stato aggiunto un file allora prende quello in caso prende un immagine fissa che avevo lasciato, di nome ghost (ho usato quella dei GhostBuster per intenderci). Cmq, questa sintassi è per salvare nel DataBase e tu già ce l'hai, magari se ne volevi una diversa dalla tua.
Per recuperare il file immagine e schiaffarla nuovamente in una picturebox per aggiornare
facevo così:
Dim Archivio As OleDbConnection
Archivio = New OleDbConnection
Archivio.ConnectionString = Connessione 'La mia variabile di testo con la connessione
Query = "SELECT foto FROM Tesserati where codice=" & codtesserato & "" 'Qui passo un codice
Dim cmd2 As New OleDbCommand(Query, Archivio)
Archivio.Open()
Dim I As Integer = 0
Dim reader As OleDbDataReader = cmd2.ExecuteReader()
Dim Temp As Byte()
Dim Album As New Collection
While reader.Read
Temp = reader(0)
Album.Add(Temp)
End While
If Album.Count > 0 Then
Temp = CType(Album.Item(conta), Byte())
Dim Img As MemoryStream = New MemoryStream(Temp)
Me.pictureboxTesserato.Image = Image.FromStream(Img)
'Variabile che controlla se la foto è stata cambiata o meno
ghost = Image.FromStream(Img)
Me.pictureboxTesserato.SizeMode = PictureBoxSizeMode.StretchImage
End If
reader.Close()
cmd2.Connection.Close()
Qui invece facevo l'aggiornamento :
Questo codice è stato creato per inserire nella picture box solo file di tipo jpeg. In caso nella funzione ImageToStream puoi cambiare questo parametro per un altro formato in base al tuo bisogno. Spero che ti possa essere stato utile. Nel report ho visto che avevo agganciato il campo Blob direttamente sul report stesso trascinandolo da Esplora Campo di Crystal Report. Spero possa esserti stato di aiuto. Fammi sapere ciao.
Maurizio Maccarrone
New Phonia Ltd