|
Página 1 de 1
|
Como Guardar Una Imagen En Sqlite En Un Campo Blob?
Autor |
Mensaje |
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Como Guardar Una Imagen En Sqlite En Un Campo Blob?
buenas,
La idea de este post es descubrir como se hace y que quede de manual.
1- el primer paso es crear un campo de tipo blob, por ejemplo con el nombre logo (logo empresa)
yo estoy armando una tabla InfoEmpresa para el programa taller con esta sentencia:
CREATE TABLE infoEmpresa (
"idInfoEmp" integer PRIMARY KEY NOT NULL,
"nombre" text,
"descripcion" text,
"cel" varchar(32),
"tel_fax" varchar(32),
"direccion" text,
"mail" varchar(64),
"web" text,
"twitter" varchar(64),
"facebook" text,
"youtube" text,
"logo" blob)
algo que me pregunto aquí.... ese sentencia no me convence pues solo habrá una fila que solamente cambiara los datos (como debería ser la sentencia para esa tabla?)
2- como sigue?.....
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#1 Lunes, 28 Diciembre 2015, 17:37 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Como Guardar Una Imagen En Sqlite En Un Campo Blob?
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
última edición por v3ctor el Lunes, 28 Diciembre 2015, 18:39; editado 1 vez
|
#2 Lunes, 28 Diciembre 2015, 18:39 |
|
|
vicr
Técnico Programador
Registrado: Septiembre 2013
Mensajes: 158
Edad: 47
|
Re: Como Guardar Una Imagen En Sqlite En Un Campo Blob?
Recuerdo que ante la pregunta de guardar imágenes en una bd el profesor, de ese taller, recomendó guardar la ruta de la carpeta donde guardaríamos dichas imágenes y NO usar blob. Fue mi compañero de grupo quien hizo la consulta y desde ahí, cuando lo he requerido, es eso lo que hago. Las imágenes se guardan en una carpeta, cambiando el nombre por el Id del usuario más un número adicional que era la fecha y hora.
Por lo tanto nunca probé el blob y no sé cuales son problemas que se pueden encontrar (corrupción, decía mi amigo).
Saludos a todos.
|
#3 Martes, 29 Diciembre 2015, 01:58 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Como Guardar Una Imagen En Sqlite En Un Campo Blob?
en este caso solo es guardar una sola imagen... que es la que corresponde al logo de una empresa x.
hasta ahora estoy viendo que el blob funciona guardando los datos en texto pero de una forma particular, (creo que los bytes tipo hexadecimal) y después se toman esos datos y se arma el archivo de nuevo en este caso una imagen.
voy a ver si hago un ejemplo de eso... jajaj pasa que ando con pereza últimamente jajajaj.
sigo investigando....
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#4 Martes, 29 Diciembre 2015, 02:20 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Como Guardar Una Imagen En Sqlite En Un Campo Blob?
aquí les dejo lo que descubri y un ejemplo:
Ejemplo de uso de campo Blob en sqlite3
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#5 Martes, 29 Diciembre 2015, 03:39 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Como Guardar Una Imagen En Sqlite En Un Campo Blob?
Ejemplo 2:
' gambas class file
' By postapase
'copia la base de datos del proyecto en tu usuario home
'para usar este ejemplo
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 Archivo As FILE
Dim Fichero, contenido As String
Dim Resultado, Resultado2, Resultado3 As Result
Dim registros As Integer
Dialog.Filter = ["*", "All Files"]
Dialog.Title = "Seleccione el archivo a insertar en el campo Blob"
If Dialog.OpenFile() Then Return
If Not MiConexion.Opened Then MiConexion.Open
Fichero = File.Load(Dialog.Path)
Resultado3 = MiConexion.Exec("select count(*) as cantidad from infoEmpresa")
If Resultado3!cantidad = 0 Then
MiConexion.Exec("insert into infoEmpresa (nameArch) values(&1)", file.Name(Dialog.Path))
Wait 0.1
Resultado = MiConexion.Edit("infoEmpresa", "id=1")
Resultado!logo = Fichero
Resultado.Update
Wait 0.1
Resultado2 = MiConexion.find("infoEmpresa", "id=1")
Contenido = Resultado2!logo
Archivo = Open User.Home &/ "logo.png" For Create
Write #Archivo, contenido, Len(contenido)
Close #Archivo
PictureBox1.Picture = Picture.Load(User.Home &/ "logo.png")
Else
Resultado = MiConexion.Edit("infoEmpresa", "id=1")
Resultado!nameArch = File.Name(Dialog.Path)
Resultado!logo = Fichero
Resultado.Update
Wait 0.1
Resultado2 = MiConexion.find("infoEmpresa", "id=1")
Contenido = Resultado2!logo
Archivo = Open User.Home &/ "logo.png" For Create
Write #Archivo, contenido, Len(contenido)
Close #Archivo
PictureBox1.Picture = Picture.Load(User.Home &/ "logo.png")
Endif
End
Otro ejemplo:
Descripción: |
|
Descargar |
Nombre del archivo: |
Ejemplo2_Blob(sqlite3)-0.1.tar.gz |
Tamaño: |
40.06 KB |
Descargado: |
80 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
Ejemplo2_Blob(sqlite3)-0.1.tar.gz |
Tamaño: |
40.06 KB |
Descargado: |
80 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
Ejemplo2_Blob(sqlite3)-0.1.tar.gz |
Tamaño: |
40.06 KB |
Descargado: |
80 veces |
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
última edición por v3ctor el Martes, 29 Diciembre 2015, 15:20; editado 1 vez
|
#6 Martes, 29 Diciembre 2015, 15:20 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Como Guardar Una Imagen En Sqlite En Un Campo Blob?
otra opcion es guardar la imagen en base64
en la base de datos solo se necesita un campo de texto
en el basic del otro lado(.net) no es necesario pasar por el sistema de archivos
para mostrar la imagen
no tengo codigos de ejemplo ahora
hagan backups
última edición por codificador el Martes, 29 Diciembre 2015, 17:11; editado 1 vez
|
#7 Martes, 29 Diciembre 2015, 17:10 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Como Guardar Una Imagen En Sqlite En Un Campo Blob?
Me suena que hace un par de años subí un ejemplo de eso... pero no lo encuentro ahora.
=================== No podemos regresar
|
#8 Jueves, 31 Diciembre 2015, 13:10 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Como Guardar Una Imagen En Sqlite En Un Campo Blob?
Shordi:
Citar: Me suena que hace un par de años subí un ejemplo de eso... pero no lo encuentro ahora.
Lo encontre en mi curso de gambas:
http://cursogambas.blogspot.com.es/...-guardar-y.html
el enlace del foro era este: http://foro.gambas-es.org/viewtopic.php?f=5&t=3355
|
#9 Jueves, 31 Diciembre 2015, 18:59 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Como Guardar Una Imagen En Sqlite En Un Campo Blob?
Gracias Julio. No lo encontraba porque buscaba "blob" y no "binario"...
=================== No podemos regresar
|
#10 Viernes, 01 Enero 2016, 14:55 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|