¿Cómo leer datos de imágenes en o desde la base de datos?
Le proporcionamos una versión ACCESS del código VB. Simplemente llame a estos procedimientos cuando lo use:
'Use ADODB.Stream para guardar/leer archivos de imagen en la base de datos
p>
'Haga referencia a la biblioteca Microsoft ActiveX Data Objects 2.5 y superior
'Guarde el archivo en la base de datos
Sub SaveFile()
Dim Stm As Nuevo ADODB .Stream
Atenuar Cnn como nuevo ADODB.Connection
Atenuar rs como nuevo ADODB.Recordset
Atenuar strCnn como cadena
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info=False; Data Source=" amp _
App.Path amp "\DB1.mdb"
> Cnn .Open strCnn
'Leer archivo en la memoria (modo binario)
Con Stm
.Type = adTypeBinary
.Open
.LoadFromFile App.Path "\Image1.bmp"
Terminar con
Con rs
.Abrir "SELECT * FROM TABLE1 " , Cnn, 1, 3
.AddNew
.Fields("IMAGE") = Stm.Read
.Update
Terminar con
rs.Close
Stm.Close
Establecer rs = Nada
Establecer Cnn = Nada
Establecer Stm = Nada
End Sub
'Leer archivo de imagen de la base de datos
Sub ReadFile()
Dim Stm como nuevo ADODB .Stream
Atenuar Cnn como nuevo ADODB.Connection
Atenuar rs como nuevo ADODB.Recordset
Atenuar strCnn como cadena
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info=False; Data Source=" amp _
App.Path amp "\DB1.mdb"
Cnn; .Abrir strCnn
rs.Abrir "SELECCIONAR IMAGEN
DE LA TABLA 1 DONDE ID = 18", Cnn, adOpenKeyset, adLockReadOnly
'Guardar en archivo
Con Stm
.Mode = adModeReadWrite
.Type = adTypeBinary
.Open
.Write rs("IMAGE")
.SaveToFile App.Path "\Image2.bmp"
Terminar con
'Mostrar imagen
Imagen1.Picture = LoadPicture(App.Path "\Image2.bmp")
rs.Close
Stm.Close
Establecer rs = Nada
Establecer Cnn = Nada
Establecer Stm = Nada
Fin Sub