Page 1 of 1
Necesito gaurdar un BMP nen un campo BLOB en una tabla Mysq
Posted: Sun Jul 13, 2008 5:27 am
by busmatic
Un saludo listeros.
Ando detras hace dias de como se guarda un archivo BMP dentro de un campo BLOB en una tbala Mysql.
Algun ejempl funciona el xhar agradeceria mucho.
Gracias a Montones desde ya.
_ Chacon
Busmatic de CR.
Posted: Sun Jul 13, 2008 6:13 pm
by Frafive
Hola
Yo lo estoy haciendo con eagle de la siguiente forma y funciona de maravilla , en el campo blob puede guardar cualquier cosa.
oTb:=TMsQuery():New(::oDataBase)
cImagen:=oTb:ReadFromFile(cFoto)
cInsert:= "INSERT INTO `fotos` (`cfoto`,`codigo`,`ctexto`) VALUES "
cInsert +="('"+cImagen+"','"+str(nCodigo)+"','"+alltrim(cTexto)+"');"
::oDataBase:Execute(cInsert)
No compañero funciona en , gracias de todas maneras
Posted: Mon Jul 14, 2008 1:16 am
by busmatic
Utilizo Tmysql y estube utilizando una rutinas de quintanilla que me ha ayudado.
el utiliza Eagle 1 y Tmysql y algo no funca.
Alguuine ma que haya logrado implementarlo.
gracias
Busmatic
_ Chacon.
Posted: Tue Jul 15, 2008 1:40 pm
by ricardog
Yo hago lo siguiente:
En la base de datos, el campo de la imagen lo genero como LONGTEXT, y para guardar y leer las imagenes hago lo siguiente:
ACTIVATE DIALOG oDlg CENTERED
if ! lContinuar; return(nil); endif
cPath=cGetFile("*.jpg;*.bmp",'Seleccione la imagen deseada')
cTemp = '.\bitmaps\temp001.tmp'
FMimeEnc(cPath,cTemp) //Esta es la función que nos ayuda agrabar la imagen como texto
if file(cTemp)
cMemo=memoread(cTemp)
cMemo=STRTRAN(cMemo,CRLF,'')
::oRsImagenes:AddNew()
TRY
::oRsImagenes:Fields("IdCliente"):Value := ::Id
::oRsImagenes:Fields("IdDocto"):Value := oSolicitud:IdDocto
::oRsImagenes:Fields("Descripcion"):Value := cNomSol
::oRsImagenes:Fields("Imagen"):Value := cMemo
::oRsImagenes:Update()
ferase(cTemp)
msginfo('Imagen salvada !', oApp:cEmpresa)
Catch oErr
Msginfo( 'La Imagen no puede ser agregada a la base de datos !',oApp:cEmpresa )
End
else
Msginfo( 'La Imagen no pudo ser guardada en la base de datos !',oApp:cEmpresa )
endif
osolicitud:End()
//::oRsImagenes:Requery()
Return Self
METHOD AbreImagen() CLASS TCliente //Para abrir una imagen GRABADA en la BD
local cMemo:='',cTemp:=''
SysRefresh()
CursorWait()
cMemo := ::oRsImagenes:Fields("imagen"):Value
if !empty(cMemo)
cTemp = '.\Bitmaps\temp002.tmp'
MEMOWRIT(cTemp,cMemo)
if file(cTemp)
cTemp2 = '.\Bitmaps\temp003.JPG'
FMimeDec(cTemp,cTemp2) //Esta es la funcion que nos permite leer la imagen en la base de datos
if file(cTemp2)
ShellExecute(GetActiveWindow(),"open",cTemp2)
else
MsgAlert("No ha sido posible leer la imagen de la base de datos" ,oApp:cEmpresa)
endif
else
MsgInfo("No existe la imagen del documento" ,oApp:cEmpresa)
endif
else
MsgInfo("No es posible abrir la imagen del Documento" ,oApp:cEmpresa)
EndIf
SysRefresh()
CursorArrow()
Return Self
Espero que te sea util.
Saludos
Ricardo E. Guardado Flores
Guadalajara, Jalisco Méx.