lunes, 28 de diciembre de 2015

Como guardar y extraer archivo en base de datos sqlite3 (Blob)

Hola!,
A raíz que en el programa taller2015 necesito agregar la info de la microempresa y entre esa información un logo que seria una imagen png o de otro tipo de 256x256 en un campo de tipo Blob el cual nunca he usado;me puse a investigar un poco y surgio  el siguiente ejemplo practico que comparto con ustedes novatos jajajaj.


' By postapase

Public MiConexion As Connection

Public Sub Form_Open()

MiConexion = New Connection
MiConexion.Type = "sqlite3"
MiConexion.Host = User.Home
MiConexion.Name = "EmpresaBD"
MiConexion.Open

End

Public Sub Button1_Click()
Dim Fichero As String
Dim Resultado As Result

Dialog.Filter = ["*", "All Files"]
Dialog.Title = "Select the file to insert into the BLOB field"

If Dialog.OpenFile() Then Return

If Not MiConexion.Opened Then MiConexion.Open

Fichero = File.Load(Dialog.Path)

Resultado = MiConexion.Edit("infoEmpresa", "idInfoEmp=1")
Resultado!nomArch = File.Name(Dialog.Path)
Resultado!logo = Fichero
Resultado.Update

End


Public Sub Button2_Click()
Dim contenido As String, Archivo As FILE
Dim Resultado As Result

Resultado = MiConexion.find("infoEmpresa", "idInfoEmp=1")
Contenido = Resultado!logo

Archivo = Open User.Home &/ "logo.png" For Create
Write #Archivo, contenido, Len(contenido)
Close #Archivo

PictureBox1.Picture = Picture.Load(User.Home &/ "logo.png")

End

Descargan el código los desempaquetan y ponen la base de datos en user.home para poder usarlo, también hay tres imágenes para probarlo.

Código fuente: 
baseInfoEmpresa-0.0.1.tar.gz

Ejemplo2_Blob(sqlite3)-0.1.tar.gz

Saludos, y comenten que les parece.

2 comentarios: