PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 21 → Guardar ficheros fisicos en base de datos HFSQL
Guardar ficheros fisicos en base de datos HFSQL
Débuté par Juan, 16 avr. 2017 09:08 - 6 réponses
//hostimage.webdev.info/avatars/default.gif
Posté le 16 avril 2017 - 09:08
Hola y gracias,
Quiero guardar ficheros fisicos Word o excel o rtf directamente en la base de datos HFSQL, como puedo hacerlo si incluyo un selector de ficheros en disco duro y luego lo intento guardar en un campo de la tabla de mi base de datos.
Gracias
//hostimage.webdev.info/avatars/default.gif
Posté le 18 avril 2017 - 13:55
Hola Juan

Aqui tienes un link explica entre otras cosas como guardar una imagen .



PD:Esta en portugués pero se entiende.

espero que te sirva.

Saludos
victor
//hostimage.webdev.info/avatars/default.gif
Posté le 20 avril 2017 - 23:30
Que tal Juan.

Hay dos formas de guardar ficheros físicos en la BD la primera de ellas haciendo uso de FloadBuffer

Se utiliza de la siguiente forma

bufFile is Buffer = fLoadBuffer("c:\escritorio\archivoejemplo.docx")
TablaBD.CampoTabla = bufFile

Y luego solo haría falta guarda con hadd,el ejemplo completo sería algo como:

Hreset(TablaBD)
bufFile is Buffer = fLoadBuffer("C:\escritorio\archivo.docx")
TablaBD.CampoTabla = bufFile
Hadd(TABLABD)

La otra forma es haciendo uso de Hlinkmemo

Hreset(TablaBD)
HLinkMemo(TABLABD, CampoTabla , ""C:\escritorio\archivo.docx")
HAdd(TABLABD)

Si luego quieres extraer la información sería algo como

HReadSeekFirst(TablaBD, ID, 1)
IF HFound THEN
fSaveBuffer("C:\escritorio\archivo.docx", TablaBD.CampoTabla)
ELSE
Error("HFSQL error: " + HErrorInfo())
END


Espero el comentario sea claro y le sirva de ayuda.

Saludos!
//hostimage.webdev.info/avatars/u6yn77gdR1gObV0nRP3q4w
Membre enregistré
3 messages
Posté le 20 avril 2017 - 23:44
Que tal Juan.

Hay dos formas de guardar ficheros físicos en la BD la primera de ellas haciendo uso de FloadBuffer

Se utiliza de la siguiente forma

bufFile is Buffer = fLoadBuffer("c:\escritorio\archivoejemplo.docx")
TablaBD.CampoTabla = bufFile

Y luego solo haría falta guarda con hadd,el ejemplo completo sería algo como:

Hreset(TablaBD)
bufFile is Buffer = fLoadBuffer("C:\escritorio\archivo.docx")
TablaBD.CampoTabla = bufFile
Hadd(TABLABD)

La otra forma es haciendo uso de Hlinkmemo

Hreset(TablaBD)
HLinkMemo(TABLABD, CampoTabla , ""C:\escritorio\archivo.docx")
HAdd(TABLABD)

Si luego quieres extraer la información sería algo como

HReadSeekFirst(TablaBD, ID, 1)
IF HFound THEN
fSaveBuffer("C:\escritorio\archivo.docx", TablaBD.CampoTabla)
ELSE
Error("HFSQL error: " + HErrorInfo())
END


Espero el comentario sea claro y le sirva de ayuda.

Saludos!

--
Christian D.
//hostimage.webdev.info/avatars/default.gif
Posté le 21 avril 2017 - 09:08
Muchas gracias a los dos por vuestras respuestas y disculpad el retardo.
Lo probaré ya que quiero usar el poder guardar formato word o rtf con el nuevo control de tratamiento de texto de pcsoft.
Muchas gracias a los dos, Victor y Christian y saludos,
Juan
//hostimage.webdev.info/avatars/default.gif
Posté le 21 avril 2017 - 09:18
Hola Christian, disculpa pero tengo otra pregunta referente a mi primera.
Para poder guardar el fichero fisico directamente en HFSQL, que tipo de dato tengo que crear para guardar el fichero fisico, es : sonido, imagen, binario o que tipo de dato(campo) a declarar en la tabla ???
Christian disculpa si no traduzco bien ya que uso la version francesa de WD.

Gracias Christian por tu ayuda y saludos
//hostimage.webdev.info/avatars/u6yn77gdR1gObV0nRP3q4w
Membre enregistré
3 messages
Posté le 21 avril 2017 - 18:39
Hola juan.

El tipo de campo que debes crear en la BD es tipo memo.

--
Christian D.