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 06-08-2013
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Post Guardar imagen en un campo Varbinary

Hola chicos, he estado buscando pero no hay manera entender y mucho menos que me salga lo que deseo.

Estoy haciendo una aplicación (Delphi 2010 y MSSQL Server) donde en el registro de los usuarios es obligatorio guardar su foto. Cree un campo llamado Foto de tipo Varbinary dentro de la tabla Usuario. Necesito guardar la foto dentro de la Base de datos y mostrarla según la opción.

me podrían ayudar al respecto.

mil gracias de antemano
le saludo
un delphino ...
Responder Con Cita
  #2  
Antiguo 07-08-2013
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Post Problema con la sentencia

Intente con esta sentencia:

Código SQL [-]
update Prueba set Photo = (SELECT * FROM OPENROWSET( BULK N'C:\Fotos\Koala.jpg', SINGLE_BLOB) AS IMAGE)

Pero me da el siguiente error:
Msg 8152, Level 16, State 10, Line 1
String or binary data would be truncated.
Responder Con Cita
  #3  
Antiguo 07-08-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira los enlaces del final de esta página, por si te sirve alguno.
Responder Con Cita
  #4  
Antiguo 09-08-2013
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Post imagen y campo Varbinary

Chicos no logro hacerlo, nunca me imagine que fuese tan complicado.

Cualquier ayuda se lo agradecería,
la mas mínima idea vendría muy bien.

Recuerdo que utilizo delphi 2010 y ms sql server 2008
Responder Con Cita
  #5  
Antiguo 09-08-2013
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Mira esta serie de artículos que tratan el tema

Storing Images and BLOB files in SQL Server
Storing Images and BLOB files in SQL Server Part 2
Storing Images and BLOB files in SQL Server Part 3
Storing Images and BLOB files in SQL Server Part 4
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #6  
Antiguo 09-08-2013
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
y aquí tratan el tema de como trabajar los blobs desde delphi: Saving and loading binary data to/from an MSSQL Image (Blob) field.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #7  
Antiguo 09-08-2013
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Post Imagen y campo Varbinary

Hola chicos estoy desarrollando una aplicación en Delphi 2010 y como gestor de BD MSSql Server 2008 y llevo días intentando guardar fotos con el formato .jpg o .jpeg en un campo Varbinary(max), entre las búsquedas realizadas dentro y fuera de este foro encontré este código para extraer la


Código Delphi [-]
function TForm1.GetFieldToJPG(FieldName: String): TJPEGImage;
var
  Stream: TMemoryStream;
begin
  Stream := TMemoryStream.Create;
  Result := TJPEGImage.Create;
  with ADOTable1 do
  begin
    try
      TBlobField(FieldByName(FieldName)).SaveToStream(Stream);
      Stream.Position := 0;
      if (Stream.Size > 0) then
        Result.LoadFromStream(Stream)
      else
        Result := nil;
    finally
      Stream.Free;
    end;
  end;
end;

y cargo la foto

Código Delphi [-]
Image1.Picture.Assign(GetFieldToJPG('Photo'));

Lo que no logro es crear una función para guardar la imagen en la base de datos en el campo Photo de tipo Varbinary(max).

alguien me pudiera ayudar,
gracias de antemano.
Responder Con Cita
  #8  
Antiguo 09-08-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No abras otro hilo para preguntar lo mismo, sigue en este, gracias.
(He unido ambos)
Responder Con Cita
  #9  
Antiguo 09-08-2013
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Angry error Incorrect syntax near ...

Código SQL [-]
CREATE PROCEDURE InsertaFoto

@id int

AS

INSERT INTO EmployeePhoto(idEmployeeid, Photo)
SELECT @id, * FROM OPENROWSET(BULK 'D:\mifoto.jpg', SINGLE_BLOB) as foto

GO

Este funciona de lo mejor, pero necesito pasar por parámetro el camino de la foto con su nombre para eso utilizo @Dir

Código SQL [-]
CREATE PROCEDURE InsertaFoto

@id int,
@Dir varchar(255) // ubicacion de la foto ej: 'D:\mifoto.jpg'

AS

INSERT INTO EmployeePhoto(idEmployeeid, Photo)
SELECT @id, * FROM OPENROWSET(BULK @Dir, SINGLE_BLOB) AS foto

GO

Me arroja el siguiente error:

Incorrect syntax near '@Dir'.
Responder Con Cita
  #10  
Antiguo 09-08-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, he comentado antes que no abras nuevos hilos para el mismo tema, gracias.
La próxima vez serás sancionado.
Saludos.
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
Guardar y cargar imagen en campo blob look Firebird e Interbase 15 03-08-2017 21:05:55
guardar imagen en campo blob edgar_prospero Varios 10 14-11-2012 20:47:22
Problema con campo Varbinary(max) en ClientDataSet Jere_84 MS SQL Server 1 15-06-2012 15:02:22
Guardar una imagen (TPicture) en un campo de DB ElDuc Conexión con bases de datos 6 01-02-2011 23:09:29
guardar archivos a varbinary desde la base de datos Paoti MS SQL Server 0 31-10-2007 23:45:27


La franja horaria es GMT +2. Ahora son las 21:29:08.


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