Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 13-10-2006
fly fly is offline
Miembro
 
Registrado: abr 2005
Posts: 65
Poder: 20
fly Va por buen camino
Si no queda más remedio que incluir las imagenes en la DB vamos a ver si lo conseguimos .

Ya te digo que nunca lo he hecho, pero debería ser igual que cualquier otro dato.
Respecto al código acertaste, a ver si me explico mejor ahora:

DMQ1 es un Data Module (es igual que cualquier UNIT pero algo más específica) donde yo guardo todos mis compoentes relacionados con la DB (transacciones, querys, datasources... ) para tenerlas todas localizables y de facil acceso desde los diferentes Forms (aunque tambien tengo a veces componentes locales que solo uso en un form).

EDIT_Q es un componente TIBQuery (es el que uso por dejecto para cualquier sentencia SQL que no sea un SELECT)

No uso componentes DBE, FBIPlus ni similares, tan sólo los componetes básicos de Interbase, por lo tanto el código es algo como esto:

............... editado ...........
Al final mientras posteaba decidí cambiarlo, usando una imagen en vez de un MEMO como en el ejemplo anterior.

Código Delphi [-]
Procedure TMiform.GuardarDato; 
var parametro : TParam; // TParam se encuentra en DB.pas
begin

// primero creamos el prarámeto
parametro:=MiIBQuery.Params.CreateParam(ftBlob,'_parametro_blob',ptInput);

// ftBlob -> indico que queremos crear un parametro tipo Blob, existe un ftGraphic pero me da error al ejecutar la query  :!
//  ptInput -> indico que va a ser un parametro de entrada de datos
// '_parametro_blob' --> el nombre del parametro que vamos a crear (usa el que tu quieras)

// Cargamos los datos en el parámeto recien creado
 MiIBQuery.parambyname('_parametro_blob').LoadFromFile('c:\pru.bmp',ftBlob);

// Ponemos la sentencia SQL en la Query
MiIBQuery.SQL.TEXT:=
 'UPDATE configuracion SET'+
 ' logo_empresa= :_parametro_blob '+  // la inserción mediante parámetro se realiza siempre así, poniendo dos puntos ( : ) precediendo al parámetro
 ' WHERE codigo=1';

// ahora ejecutamos el SQL
MiIBQuery.close;
MiIBQuery.prepare;
MiIBQuery.execSQL;

// borramos el parámetro creado
MiTIBQuery.Params.Clear;

end;

He usado una imagen BMP porque no uso componentes para ver JPG, hice las pruebas con un DBImage para ver el resultado del campo blob.

Este código lo he probado y funciona, a ver si te sirve.

Saludos.

Última edición por fly fecha: 13-10-2006 a las 04:41:55.
Responder Con Cita
 



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
Insertar Imagenes en Firebird (y la madre que lo pario!!!) papulo Firebird e Interbase 7 23-11-2005 16:13:07
Cuántos registros soporta firebird 1.5? ronimaxh Firebird e Interbase 7 12-10-2005 17:01:13
¿Cómo puedo ver las imágenes que soporta un archivo .rtf? nuri Varios 2 09-08-2005 18:13:51
Imagenes(BLOB) Firebird con VB6 pzhero Firebird e Interbase 5 06-05-2004 15:32:45
BDE no soporta estos tipo de datos .. ingel Conexión con bases de datos 0 19-06-2003 18:30:22


La franja horaria es GMT +2. Ahora son las 16:32:27.


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