Newsgroup: it.comp.lang.visual-basic
Titolo: come salvare immagini e caricarle in/da DB Jet?

Salve a tutto il NG.
Problema : come si possono salvare le immagini e poi successivamente
caricarle da un DB??
Per il caricamento ho già risolto nel seguente modo:
****************************************************************************
Private Sub cmdInserisci_Click()
    CommonDialog.Filter = "Immagini JPG|*.JPG|Immagini BMP|*.BMP|Immagini
GIF|*.GIF|Tutti i files|*.*"
    CommonDialog.CancelError = True
    'Acquisizione del nome files
    CommonDialog.ShowOpen
    strNameFile = CommonDialog.FileName
    'Cancella contenuto Picture
    Image1.Picture = LoadPicture()
    Image1.Picture = LoadPicture(strNameFile)
    'Caricamento dell'oggetto OLE nel DB
    recImmagini.AddNew
    recImmagini("Immagine") = Image1.Picture
    recImmagini("Path") = strNameFile
    recImmagini.Update
End Sub
****************************************************************************
Il codice qui presente carica un'immagine presente in una Picture
in un RecordSet ADO su un campo di tipo OggettoOLE in un database Jet Access
Office 2003.
Questo sembrerebbe salvare le immagini nel DB in formato binario.
DOMANDA: Ora come fare a recuperarle e a ricaricarle nel mio control
PictureBox??
Ringrazio tutti anticipatamente per le eventuali risposte.
Saluti Bozu

Forse mi sono risposto da solo....
Sarebbe possibile andare a leggere i dati memorizzati nel DB in binario
e ricostruire l'immagine in esterno su un File binario.
Aquesto punto non vi è altra esigenza che associare il file a controllo??
E' possibile ... almeno credo...
By Bozu

 controllo??
Ti consiglierei viavamente di non archiviare nel database il binario
dell'immagine, ma solo il percorso e nome del file (un normale campo testo,
di capacità/crt adeguata), da usarsi poi con una LoadPicture sull'oggetto
che ne visualizza l'immagine (per esempio una PictureBox). Il database sarà
più leggero anche se dovrai organizzarti i file delle immagini in qualche
cartella dlla tua struttura.
Ho fatto qualche prova con una controllo Data legato direttamente al
binario/immagine sul database, va, ma non l'applicherei mai per i motivi di
cui sopra (oltre, naturalmente, a non voler usare controlli data-eccetera)

 struttura.
confermo, e' comodissimo e leggerissimo, o si tengono i link e le relative
immagini al loro posto originale o le si schiaffa con un nome-codice
sequenaziale in una sottodir del programma e si registra nel db il solo
nome-codice.In questo ultimo modo ( che e' quello che serve a te) hai un
campo di una ventina di caratteri che ti basta sicuramente per contenere
tutte le imm che vuoi e in piu' lo spazio occupanto nel Db dai binari e'
ridistribuito in una cartella, quindi e' meso soggetto alle corruzioni che
quando meno tel e aspetti infestano i db Access, e poi se mi ricordo bene i
db access avevano il limite fisico dei 2gb che, memorizzando dei binari al
suo interno, si raggiungono infinitamente prima che popolare dei campi da
20char !
-- 
<Gigio2K>
--- 
http://www.g2kweb.it/gigio2k
 ---
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

Grazie Lupo, e grazie Grigio 2K per le risposte.
Dopo essere giunto alla Vostra medesima conclusione pratica.
Ho optato per l'utilizzo di una cartlla creata sotto l'App.Path
ove memorizzo i files e nel DB tengo solo il Nome delle img.
Comunque a titolo informativo mi piacerebbe sapere se qualcuno di voi
abbia mai optato per la strada tortuosa e difficile del file binario.
Non tanto per l'utilizzo pratico ma quanto per capire come poter gestire
ricostruendo un binario.
Dal DON CHISCIOTTE:
"Mi vuoi dire, caro Sancho, che dovrei tirarmi indietro, perchč il Male ed
il Potere hanno un aspetto cosģ tetro? Dovrei anche rinunciare ad un po' di
dignitą, farmi umile accettare che sia questa la realtą?"

 ricostruendo un binario.
p.e.
http://groups.google.com/groups?as_q=appendchunk%20mdb&ie=UTF-8&as_ugroup=*visual-basic*&as_scoring=d&lr=&num=50&hl=it
ciao, j.