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 02-12-2008
_Willa _Willa is offline
Miembro
 
Registrado: jun 2003
Ubicación: Madrid
Posts: 26
Poder: 0
_Willa Va por buen camino
SQL Server - Grabar / Recuperar Imagen

Hola,

Estoy intentando recuperar una imagen guardada en un campo tipo "image" en Sql Server, no se si el tipo de campo es el correcto o usar el tipo
varbinary(MAX). El tipo de conexión utilizada es ADO.
Para el acceso a la SQL utilizo una llamada a un Procedimiento Almacenado
creado por mi

Despues de varios intentos, creo que esto funciona.
Código:
	Mi_Imagen->Picture->Graphic->SaveToStream(msImagen);
	unsigned int  sizeg=msImagen->Size;
        TMemoryStream *msImagen = new TMemoryStream;
	TADOStoredProc *comm = NULL;
	comm = ptSQLBasic->DefineStoredProc("sp_INSERT_Grafico");
TParameter *pe=comm->Parameters->CreateParameter("@Grafico",ftBlob,pdInput,0,"");
	  pe->Parameters->ParamByName("@Grafico")->LoadFromStream(msImagen,ftBlob);
			comm->ExecProc();
El procedimiento almacenado llamado es "sp_INSERT_Grafico"
Código:
ALTER PROCEDURE [dbo].[sp_INSERT_Grafico]
(
		@Grafico  varbinary(MAX)
)
AS BEGIN
   UPDATE tbl_Ficha SET FOTO=@Grafico
END
Pero la parte de la recuperacion de la imagen no funciona!!.
no se, de que forma se le puede asignar al TMemoryStream o al TImage para asignar la imagen recuperada.

alguna idea ? de como se puede recuperar la imagen, usando un proc. con cursor o con paso de parametros ?
Responder Con Cita
  #2  
Antiguo 17-12-2008
Avatar de javier7ar
javier7ar javier7ar is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 124
Poder: 19
javier7ar Va por buen camino
Haces un select del campo con una query y despues lo podes pasar asi a un TStream

Código Delphi [-]
TGraphicField(MiQuery.FieldByName('Imagen')).SaveToStream (MiStream);

despues ese TStream lo podes asignar a un TBitmap asi

Código Delphi [-]
MiBitmap.LoadFromStream(MiStream);

y por ultimo lo podes pasar a un TImage asi

Código Delphi [-]
MiImage.Picture.Assign(MiBitmap);

Alguno de esos te deberia servir para lo que queres
Saludos

P/D: ups! recien veo que el post es de hace dos semanas jeje
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
grabar imagen en base de datos sql server 7 didier SQL 3 31-12-2008 18:41:36
Grabar imagen spia Tablas planas 4 12-03-2008 20:47:53
Recuperar IMAGEN de un QUERY natalinuyo Gráficos 31 12-02-2007 23:22:22
grabar imagen en base de datos sql server 7 didier Internet 0 24-05-2005 16:12:57
Cargar y recuperar imagen en bd MySQL??? burasu MySQL 2 22-08-2004 22:40:18


La franja horaria es GMT +2. Ahora son las 16:56:45.


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