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
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.