Tengo basededatos SQLite3, con una tabla en la que una de sus columnas se llama Foto, tipo BLOB, y ya tiene fotos en formato JPEG.
En Lazarus, tengo TDBGrid1 y abajo TDBImage1 (donde se desea aparecezca la imagen BLOB).
Para TDBImage1, DataSource es DataSource1 (al igual que para el TDBGrid1).
Al abrir la basededatos, las columnas de la tabla se muestran correctamente, y en la columna Foto aparece la palabra (blob).
Usando el evento DBGrid1ColEnter, estoy tratando esto:
procedure TForm1.DBGrid1ColEnter(Sender: TObject); VAR L_FieldDataType : TLabel; //una Label, tambien en Form1, que visualmente verifica el tipo de dato del campo actual, y aparte para actuar codigo. Begin L_FieldDataType.Caption:=Fieldtypenames[dbgrid1.SelectedField.DataType]; {capta el tipo de dato correctamente, y lo muestra} if L_FieldDataType.Caption = 'Blob' then begin DBImage1.Datafield := DBGrid1.SelectedColumn.FieldName; //No es suficiente esto para que se reciba la imagen de la tabla? //Ideas tratadas, basadas en: DBImage1.Picture := ? DBImage1.Picture := DBGrid1.SelectedColumn.Picture; // error: SelectedColumn no tiene propiedad Picture DBImage1.Picture := DBGrid1.SelectedColumn.Field.CurValue; // error: quiere Picture y no Variant // Que hacer, pues? end; End;
Si hay manera mas facil y mejor, de lograr esto, por supuesto lo agradezco, aunque tambien me interesa mucho saber como lograrlo de esta manera.
Gracias de antemano!