![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
|
No graba imagen en Firebird
Tenog un formulario con un TImage en el que puedo seleccionar el fichero de imagen a asignar para luego grabarlo en una tabla Firebird. Supongamos que el TImage está así:
![]() Un vez cargado dicho TImage para grabarlo en la tabal hago esto: Código:
for (nItem = 0; nItem < this->ComponentCount; nItem ++)
{
Source = this->Components[nItem];
[...]
fPersona->Query->Close();
if (Source->ClassNameIs("TImage"))
{
TImage *Imagen = static_cast<TImage*>(Source);
TMemoryStream *msImagen = new TMemoryStream;
(Imagen->Picture->Bitmap)->SaveToStream(msImagen);
msImagen->Seek(0, soFromBeginning);
if (!lPrueba && msImagen->Size == 0)
continue;
if (msImagen == 0)
fPersona->Query->SQL->Text = "DELETE FROM Instalacion WHERE Etiqueta = :Campo";
else
{
if (lPrueba)
fPersona->Query->SQL->Text = "UPDATE Instalacion SET Imagen = :Imagen WHERE Etiqueta = :Campo";
else
fPersona->Query->SQL->Text = "INSERT INTO Instalacion (Etiqueta, Imagen) VALUES (:Campo, :Imagen)";
fPersona->Query->ParamByName("Imagen")->LoadFromStream(msImagen, ftBlob);
}
fPersona->Query->ParamByName("Campo")->AsString = Source->Name;
}
[...]
try
{
fPersona->Query->ExecSQL();
fPersona->Query->Transaction->Commit();
}
catch(...)
{
Screen->Cursor = crArrow;
fPersona->Query->Transaction->Rollback();
Mensaje(-1, "Se ha producido un error en la actualización de los datos.¦" + ExtractFileName(AnsiString(__FILE__)) + FormatFloat("' - '0", __LINE__), "Volver");
LisSitSelectItem(NULL, NULL, false);
return;
}
}
|
|
#2
|
||||
|
||||
|
Hola.
Usando Firebird y estando el campo 'IMAGE' definido así,
de este modo guarda correctamente el contenido del TImage : Código PHP:
![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#3
|
||||
|
||||
|
¡Perfecto! Muchas gracias.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| A pesar de la excepción, el registro se graba | Angel.Matilla | Firebird e Interbase | 4 | 17-11-2015 20:21:43 |
| BDEAdmin no graba el idapi32.cfg en Windows 7 | Matorral | Conexión con bases de datos | 6 | 07-12-2010 11:04:32 |
| Por que no graba en Win.ini | alquimista | API de Windows | 11 | 23-04-2008 00:20:01 |
| query no Graba , se cierra | juanmaster | Tablas planas | 9 | 12-12-2006 23:52:21 |
| lookup + dbgrid: no graba | jonmendi | Conexión con bases de datos | 4 | 12-01-2006 08:21:53 |
|