Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-09-2007
zafmanjp zafmanjp is offline
Registrado
 
Registrado: feb 2007
Posts: 5
Poder: 0
zafmanjp Va por buen camino
Guardar cualquier tipo de archivo en un campo en sql server

Hola amigos, necesito hacer un pequeño programita que lea y guarde cualquier tipo de archivo en un campo de una tabla en Sql Server

He leido algo de stream y eso pero no me aclaro.

gracias
Responder Con Cita
  #2  
Antiguo 25-09-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Utiliza parámetros.
En mi caso (utilizando sentencias SQL) en alguna ocasión he utilizado esto:

Código Delphi [-]
  ADOQuery1.SQL.Text := 'INSERT Tabla (Fichero) VALUES (:fichero)';
  ADOQuery1.Parameters[0].LoadFromFile(Edit1.Text, ftBlob);
  ADOQuery1.ExecSQL;

Si defines el campo Fichero como Image, esto funciona perfectamente.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 26-09-2007
zafmanjp zafmanjp is offline
Registrado
 
Registrado: feb 2007
Posts: 5
Poder: 0
zafmanjp Va por buen camino
Guardar archivos

Gracias me ha servido de mucho.
Ahora me interesa recuperar cualquier archivo del campo de base de datos y previsualizarlo. Conoces alguna funcion, proc o xxx que te realice una imgen del contenido de un archivo, bien sea excel, .doc, txt etc.

De esta manera podria guardar la imagen en la base de datos e ir mostrando el contenido del archivo segun navegamos por el recordset.

Gracias de antemano.
Responder Con Cita
  #4  
Antiguo 26-09-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes usar algo similar a esto:


Código:
var
File1:TStream;
...
File1 := S.DataSet.CreateBlobStream(S.DataSet.FieldByName('Fichero'), bmread);
try
File1.Seek(0, 0);
FS := TFileStream.Create(FileName, fmCreate);
// Bloque de proteccion para liberar
try
// Copiar el contenido
FS.CopyFrom(File1, File1.Size);
finally
FS.Free;
end;
finally
File1.Free;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 20-12-2007 a las 09:55:05.
Responder Con Cita
  #5  
Antiguo 29-09-2007
zafmanjp zafmanjp is offline
Registrado
 
Registrado: feb 2007
Posts: 5
Poder: 0
zafmanjp Va por buen camino
Gracias

Muchas gracias de nuevo por tu ayuda. Me ha servido mucho.
Responder Con Cita
  #6  
Antiguo 19-12-2007
Leviatan Leviatan is offline
Miembro
 
Registrado: oct 2005
Posts: 56
Poder: 19
Leviatan Va por buen camino
Hola Neftalí:

Yo también estoy interesado en hacer algo parecido a lo que preguntó zafmanjp.

La inserción funciona correctamente. Lo que no me queda claro es la parte de la lectura del archivo: ¿dónde declaras las variables "S" y "FS" y de qué tipos son?

Además, una vez que recupero el archivo ¿cómo hago para abrirlo con la aplicación adecuada? Ej.: .doc = Word, .xls = Excel.

Gracias.
Responder Con Cita
  #7  
Antiguo 20-12-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En la parte privada o pública de tu formulario.

FS es de tipo TFileStream y la S es una Tabla o un Query, dependiendo de lo que uses para acceder a la tabla.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 21-12-2007
Leviatan Leviatan is offline
Miembro
 
Registrado: oct 2005
Posts: 56
Poder: 19
Leviatan Va por buen camino
Disculpen la ignoracia, pero ¿dónde se declara la variable "FileName"? Además, lo que me falta es poder leer el archivo desde la base de datos y mostrarlo en la aplicación correcta, por ej. si es un archivo .doc abrirlo con Word.

Gracias una vez más.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Convertir Campo en SQL SERVER a otro tipo de dato subzero MS SQL Server 1 29-06-2007 02:07:54
Abrir cualquier tipo de archivo desde mi aplicación Albano Varios 3 06-10-2006 20:48:31
Guardar cualquier tipo de datos en un mismo archivo metalfox6383 Varios 5 22-08-2005 21:35:54
Detectar un scanner de cualquier tipo... razadi API de Windows 1 17-01-2005 00:29:04
Como guardar un Word en un campo SQL SERVER Investment MS SQL Server 1 03-05-2004 15:08:33


La franja horaria es GMT +2. Ahora son las 07:17:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi