FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Grabar IMAGEN en campo de ADS Server
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Grabar IMAGEN en campo de ADS Server
Posted: Mon Mar 22, 2010 07:24 PM

Hola a todos,
he comprobando que en la version 1.2.1 rev. 4096 de xharbour al grabar una imagen JPG en un campo BINARY de una tabla ADT, da error cuando en versiones anteriores podia guardar cualquier cosa en ese campo, estoy usando ads server 9.1, a alguien le sucedió algo parecido ? hay solucion ?

Gracias!

Salu2, Ariel.

Posts: 132
Joined: Thu Mar 08, 2007 06:12 PM
Re: Grabar IMAGEN en campo de ADS Server
Posted: Tue Mar 23, 2010 03:47 PM

Ariel, yo lo uso de esta forma sin problemas

IF ! AdsFile2Blob( cFileImg, ( aFilesAdt[ 2 ] )->("Logotipo"), ADS_IMAGE )
MSGINFO( "Error Grabando Imagen", oApp:cSistema )
ENDIF

Cruz Oses

Harbour / Bcc / MinGW / Fwh 13.9
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Grabar IMAGEN en campo de ADS Server
Posted: Tue Mar 23, 2010 04:59 PM
Much simpler way is :

FIELD->IMAGEFLD:= MemoRead( <imagefile> )

works if the field IMAGEFIELD is created as IMAGE type.

xHarbour 1.2.1 Rev 6406
Code (fw): Select all Collapse
#include 'fivewin.ch'
#include 'ads.ch'
#include 'xbrowse.ch'

// xharbour 1.2.1 Rev 6406 & FWH 10.2

function Main()

   SET DATE ITALIAN
   SET CENTURY ON

   RddRegister( "ADS", 1 )
   AdsSetServerType( ADS_LOCAL_SERVER )
   RDDSetDefault( 'ADT' )

   DbCreate( 'ADTIMG', { ;
      { 'ID',     'NUMERIC',     2, 0 }, ;
      { 'FIMAGE', 'IMAGE',       9, 0 } }, 'ADT' )

   USE ADTIMG
   APPEND BLANK
   FIELD->ID      := 1
   FIELD->FIMAGE  := MemoRead( '\fwh\bitmaps\olga1.jpg' )
   APPEND BLANK
   FIELD->ID      := 2
   FIELD->FIMAGE  := MemoRead( '\fwh\bitmaps\AlphaBmp\world.bmp' )
   GO TOP

   XBROWSER 'ADTIMG'

   CLOSE ADTIMG

return nil

Result:
Regards



G. N. Rao.

Hyderabad, India
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: Grabar IMAGEN en campo de ADS Server (SOLUCIONADO)
Posted: Wed Mar 24, 2010 08:10 PM

Gracias x sus comentarios,

les comento que solucioné el tema de grabar una imagen JPG en un campo BINARY de una tabla .adt, aunque muchos digan que no se puede..., bueno yo si pude, el tema era volver a convertir el archivo con la misma extension que tenia, pues lo solucioné creando un campo con la extension del archivo (gracias Patricio) que estoy levantando, entonces al volcar el contenido del campo a disco le añado la extension. Luego tambien a tener en cuenta es el nombre del campo en la funcion adsfile2blob(), lo puse en MAYUSCULAS, y el tercer parametro ADS_BINARY. Nada mas, asi de simple.

Espero le sirva a alguien mas.

Mis dos granitos.

Salu2, Ariel.

Posts: 105
Joined: Thu Feb 26, 2009 04:08 PM
Re: Grabar IMAGEN en campo de ADS Server
Posted: Thu Mar 08, 2012 05:51 PM

Ariel, una pregunta.
Que tan grande se hiso tu tabla agregando las imagenes
yo tengo una tabla de 4000 productos y querian que se le spuriera imagen.

Saludos.

Posts: 302
Joined: Fri Apr 23, 2010 04:30 AM
Re: Grabar IMAGEN en campo de ADS Server
Posted: Fri Mar 09, 2012 02:22 AM

Para que la tabla no se agrande demasiado las imágenes se pueden grabar en otra tabla relacionada, y solo las cargas cuando las necesites.

Slds

Nicanor Martinez M.
Auditoria y Sistemas Ltda.
MicroExpress Ltda.
FW + FWH + XHARBOUR + HARBOUR + PELLES C + XDEVSTUDIO + XEDIT + BCC + VC_X86 + VCC_X64 + MINGW + R&R Reports + FastReport + Tdolphin + ADO + MYSQL + MARIADB + ORACLE
nnicanor@yahoo.com

Continue the discussion