PDA

Ver la Versión Completa : Grabar datos de imagen TcxDBImage a SQL server 2008


JM1985
25-09-2013, 18:32:19
Hola que tal como están.

Una ayudita.
Como puedo grabar a sql server una imagen desde un componente DEVEXPRESS 5 TcxDBImage

Utilizo un OpenDialogImage y asigno desde ahí la imagen y se visualiza en el control pero no busco como grabarlo
y desde luego al grabarlo visualizarlo.


Gracias.
Saludos.

JM1985
25-09-2013, 19:52:26
Hola que tal bueno seguí investigando y por fin encontré la manera de grabar y visualizar imágenes con el componente.

Dejo el código para que pueda servir a alguien mas.

Saludos.

// Para grabar la imagen en sql server .

TStream * BlobStream;
TFileStream * FileStream;
if(OpenDialogLogo->Execute())
{
CDSConfig->Edit();
TcxImgLogo->Picture->LoadFromFile(OpenDialogLogo->FileName);
BlobStream = CDSConfig->CreateBlobStream(CDSConfig->FieldByName("bLogo"), bmWrite);

try
{
FileStream = new TFileStream(OpenDialogLogo->FileName, fmOpenRead);
try
{
BlobStream->CopyFrom(FileStream, FileStream->Size);
}
__finally
{
delete FileStream;
}
}
__finally
{
delete BlobStream;
}
CDSConfig->Post();
}


// Aquí visualizamos la imagen.

CDSConfig->Edit();
TStream *BlobStream;
TJPEGImage *jpg = new TJPEGImage;


BlobStream = CDSConfig->CreateBlobStream(CDSConfig->FieldByName("bLogo"), bmRead);
jpg->LoadFromStream(BlobStream);
delete BlobStream;
TcxImgLogo->Picture->Assign(jpg);